2017-10-11 25 views
0

私は現在Amazon Lex、Lambda、チャットボットのためのFacebook Messenger Webhookとの統合についていくつかの概念証明を行っています。Amazon Lex FacebookメッセンジャーWebhookとページスコープのID

私は、メッセージがLexに送信されるときに、ユーザーID(これはページスコープIDと考えられます)を含むことをFacebookのWebhookを通して見ています。アマゾンレックスとラムダの初期化と検証を

、私はこのページはIDがどこにもイベントをフォーマットすると、すべてのボディコンテンツを取り去る場合レックスを信じるように私をリードラムダの内部イベントオブジェクトに渡されたスコープが表示されませんそれはFacebookから渡されます。

受信したリクエストの本文の内容を読み取る方法はありますか?

答えて

0

Facebook経由でLexにアクセスすると、Lexはevent.requestAttributesのLambda関数にFacebookデータを渡します。これは構造体である:

"requestAttributes": { 
    "x-amz-lex:facebook-page-id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 
    "x-amz-lex:channel-id": "XXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", 
    "x-amz-lex:webhook-endpoint-url": "https://channels.lex.us-east-1.amazonaws.com/facebook/webhook/XXX-XXXX-XXXXXXXXX", 
    "x-amz-lex:accept-content-types": "PlainText", 
    "x-amz-lex:user-id": "XXXXXXXXXXXXXXX", 
    "x-amz-lex:channel-name": "FacebookLexBotAppName", 
    "x-amz-lex:channel-type": "Facebook" 
}, 

PSID(ページスコープID)を取得するには
ページアクセストークン = event.requestAttributes['x-amz-lex:facebook-page-id']を取得するには
= event.requestAttributes['x-amz-lex:user-id']

関連する問題