2017-10-11 3 views
0

현재 Amazon Lex, Lambda 및 chatbots 용 Facebook Messenger Webhook 통합에 대한 개념 증명 자료를 검토 중입니다.Amazon Lex Facebook Messenger Webhook 및 페이지 범위 지정 ID

필자는 Facebook에 Webhook을 통해 메시지를 보낼 때 Lex에 사용자 ID (페이지 범위 ID라고 생각 함)가 있음을 확인합니다.

아마존 렉스와 람다 초기화 및 검증을 통해

,이 페이지는 ID가 이벤트를 포맷하고 본문 내용을 제거하는 경우 나 렉스를 믿고 리드 람다의 내부 이벤트 객체의 아무 곳이나 전달의 범주가 지정된 표시되지 않습니다 그것은 페이스 북에서 전달됩니다.

들어오는 요청의 본문 내용을 읽을 수있는 방법이 있습니까?

답변

0

Facebook을 통해 Lex에 접속하면 Lex는 Facebook 데이터를 event.requestAttributes 내부의 Lambda Function으로 전달합니다. 이것은 구조 :

"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" 
}, 

페이지 액세스 토큰을 얻으려면 = event.requestAttributes['x-amz-lex:facebook-page-id']
PSID (페이지 범위가 지정된 ID) = event.requestAttributes['x-amz-lex:user-id']

를 얻으려면