現在、Facebookのメッセンジャープラットフォーム用の最初のチャットボットを開発しています。私はここでクイックスタートサンプルから始めました: https://developers.facebook.com/docs/messenger-platform/guides/quick-startFacebook Chatbot Webhook - get-requestを実装するのはなぜですか?
すべてがうまくいき、ボットは私のバックエンドを呼び出し、私は応答することができます。すべての良い。
しかし、以下のGET-フックが呼び出されることはありません:
app.get('/hook/', (req, res) => {
console.log('GET REQUEST CALLED');
if (req.query['hub.verify_token'] === FB_VERIFY_TOKEN) {
res.send(req.query['hub.challenge']);
} else {
res.send('Error, wrong validation token');
}
});
クイックスタートとフルガイドでは、私は、コードの平和を必要とするが、それらのどれも私に理由を教えていないことを、教えてください。.. 。
私の質問は:場合は、このウェブフックは
- と呼ばれるべき?
- ボットがこのフックなしで動作するのはなぜですか?
- 何か私のバックエンドを確認するべきではありませんか?それがなぜ必要なのですか?
私は完全にここで何かを逃したと思う:/
編集:私は、プログラムのページにサブスクライブするとき はこののみ必要とされていますか? 現在、ダッシュボードを使用してページへの購読を追加しました。
ahaなので、なぜ私のWebHookが機能しているのかは、WebHookをダッシュボードに追加している間にサンプルを取得していることです。この最初の呼び出しの後、facebookはそのエンドポイントをもう呼び出すことはありません。これが、機能を失うことなくエンドポイントを削除できる理由です。正しい? – Stefan
実際、このエンドポイントの削除はお勧めしません。私は確信していません(デベロッパードキュメントを書いていない)が、Facebookがこのエンドポイントでもう一度チェックを行う可能性があります。 – mustafaturan