2

laravelを使用してphpでFacebookチャットボットのWebhookを実装しましたが、ボットにメッセージを送ると、予想されるデータ構造で投稿リクエストを受け取り、すべて正常に機能するようになりました。次に、nodejs を使用して webhook の実装を試みましたが、ボットにメッセージを送信すると、受信した投稿要求が期待されるものではありません。トークンを使用して Webhook を検証できたので、これはちょっと奇妙です。PHPの実装に使用したのと同じFacebookアプリとページを使用したので、問題はないと思います。ノード内のコードは次のとおりです: http://pastebin.com/0GQcXdV2

リクエスト構造は次のようになると思います:http://pastebin.com/GFU89LjA

しかし、代わりにこれです: http://pastebin.com/51S7DrkG

この質問がばかげているように思えて申し訳ありませんが、明らかな何かが欠けていますが、何がわからないのですか。私はノード js に慣れていないので、これは初心者の間違いかもしれませんが、何が間違っているのか教えていただければ幸いです。前もって感謝します

4

1 に答える 1

1

npm body-parser をインポートすることで問題を解決し、Express アプリでそれを使用して JSON を返すようにしました。req.bodynpm のドキュメントによると、 bodyParser オブジェクトは、リクエストの本文を公開し、それをプレーン テキスト、 json 、生または URL エンコーディング フォームの本文に割り当てるミドルウェア ファクトリを提供します( https://www.npmjs.com/package/body-parser)。私の問題を解決するために、次の 2 行のコードを追加しました。

var bodyParser = require('body-parser');
app.use(bodyParser.json());

ボディ パーサーの詳細については、こちらを参照してください

于 2016-05-26T19:49:33.157 に答える