事前準備
AWS API GatewayとAWS Lambdaで、HelloWorldを作成する
http://qiita.com/akira-sasaki/items/b9e8e8a0330818e3b71d
Facebookアプリの作成
Reloadを押す。
Facebook Pageの作成
AWS Lamdbaの作成
メッセージ受信用のScript
FacebookBotCallback
exports.handler = function(event, context) {
console.log('Received event:', JSON.stringify(event, null, 2));
}
Cloud Watchでログをチェック
Validation用のScript
FacebookBotValidation
var validationToken = "ValidationToken";
exports.handler = function(event, context) {
console.log('Received event:', JSON.stringify(event, null, 2));
if (!event["hub.verify_token"] || !event["hub.challenge"]) {
context.fail("invalid parameter");
return;
}
if (event["hub.verify_token"] === validationToken) {
context.done(null, Number(event["hub.challenge"]));
} else {
context.fail("validation failed");
}
};
AWS API Gateway
受信用のPOSTメソッドを作成
Curlで呼び出してみる。
curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POd '{"key1":"test1","key2":"test2","key3":"test3"}' https://#####.execute-api.ap-northeast-1.amazonaws.com/botcallback/botcallback
Cloud Watchでログ確認
Validation用のGETメソッドを作成
- hub.challenge
- hub.verify_token
を追加。
application/json
{
"hub.verify_token": "$input.params('hub.verify_token')",
"hub.challenge": "$input.params('hub.challenge')"
}
FacebookとAWS API Gatewayを連携
curl -ik -X POST "https://graph.facebook.com/v2.6/me/subscribed_apps?access_token=トークン"
をコマンドラインで実行。
作成したページでメッセージ書き込み
作成したページのメッセージを書き込む
Cloud Watchでログ確認
メッセージがログにでたら成功!
おうむ返しBotのプログラム作成