2017-06-20 9 views
0

twilio APIとnode.jsを使用して、呼び出しを記録して転写します。私はコールが記録されたときにコールバックを実装しようとしています。 twilioのAPIによると、私は私のコールバックURLを指定:documentationパーnode.jsを使用してコールバックリクエストからパラメータを取得して表現する

twiml.record({ 
    transcribe: false, 
    maxLength: 30, //seconds to record 
    recordingStatusCallback: 'http://[url]:3000/recorded' 
    }) 

を、私はPOSTを経由して戻っていくつかのパラメータを受け取る必要がありますので、私は、要求と応答をログに記録しています:

app.post('/recorded', (req, res) => { 
    console.log(req, res) 
}) 

何Iログに戻ってくるのは、巨大なオブジェクトのカップルです。私は期待しているパラメータのようなものは見かけません。私は、私が必要とするパラメータを得るために、そのポスト関数を別々に構築するはずだと思っていますが、どうすればよいかわかりません。Twilioやオンラインでは、コールバック関数がどのように成功したかを示すドキュメンテーションは表示されません構造化された。

どのようにすればいいですか?

答えて

0

最初に 'body-parser'モジュールをプロジェクトに追加します。今

var bodyParser = require('body-parser') 

サーバー起動する前に、コードのどこかにそれを追加します:

npm install body-parser 

とはコードでそれを必要とするあなたはあなたの機能で、その後

app.use(bodyParser.urlencoded({ extended: false })); //this will add extracting of the body for every request to express server 

をデータを検索しようとすると、そのようなコードを使用して取得することができます:

「body-parser」モジュールhereについての詳細情報を見つける。

+1

TwilioはデータをURLエンコードされたフォームデータとして送信するので、bodyParserの 'urlencoded'ミドルウェアが必要です。私はその答えを編集しました。コールバックで受け取る属性は、https://www.twilio.com/docs/api/twiml/record#attributes-recording-status-callbackにリストされています。おそらく 'req.body.RecordingUrl'に興味があります。 – philnash

+0

ありがとう!それはうまくいった。私はそれが言語/環境に特有のユースケースのようなものだと知っていますが、この例をオンラインのどこかに追加することはクールです – mheavers

関連する問題