今度はFacebookのMessanger用Botが出たようなので例の通り、force.comで試してみましたー

事前準備

基本的に公式リファレンスのとおりに進めていけばOKです。

“Setup Webhook”でエンドポイントの検証をfacebookからのHTTPリクエストによって行いますが、このHTTPリクエストやイベントのコールバックの受信は、Anonymous Apex RESTを利用します。具体的な実装方法は以前の記事を参照。

検証用の処理は以下のように書けばOK

上記例の場合、設定値は

  • Callback URL→https://{サイトのドメイン}/services/apexrest/facebook_callback
  • Verify Token→keyaki_kakenai

になります。

ユーザへのメッセージ送信

こんな感じで。https://graph.facebook.comに対するリモートサイトの設定も忘れずに。

ユーザからのメッセージ受信

メッセージの受信処理+受信内容に応じてメッセージを返す処理は以下のようになります
※欅坂仕様です

messageがnullのときは”Message-Delivered”等のイベントなので上記例ではスルーしてます。静的型付けな言語なのでシリアライズが冗長気味。あとLINE Botと違って受信側の認証の仕組みが無い(?)っぽいです。コールバックURLを秘匿なURIにするしか無いのかな…。

あとはfacebookページでメッセージを送ると良い感じに返してくれます↓

facebook-bot-keyaki

参考URL