facebook-messenger - Facebook Messenger 机器人不发布到 webhook

标签 facebook-messenger facebook-send-api

我一直在构建一个 Facebook Messenger 机器人,但在我服务器上的 webhook 上接收来自 Messenger 的消息时遇到问题。我使用 Send API 和 Webhooks 已经有几个星期了,直到今天,我还没有遇到向用户来回发送消息的问题。我能够从 Facebook Developer Console 验证 webhook,并且我可以在对我的 /webhook 路由进行 GET 调用时看到验证通过。但是,当我从我的个人帐户向我的机器人(应该 POST 到 /webhook)发送消息时,我没有看到任何消息数据被转发到我的服务器。这条路线永远不会受到打击。我发送到的页面订阅了 Facebook 开发者控制台中的应用程序。奇怪的是,我可以使用 curl 手动点击 /webhook 消息:

curl -i -X POST -H 'Content-Type: application/json' -d 
'{"object":"page","entry":
[{"id":43674671559,"time":1460620433256,"messaging":[{"sender":
{"id":MY_ACTUAL_FACEBOOK_USER_ID},"recipient":
{"id":MY_PAGE_ID},"timestamp":1460620433123,"message":{"mid":"mid.1460620432888:f8e3412003d2d1cd93","seq":12604,"text":"Testing 
Chat Bot .."}}]}]}' "https://XXXXX.ngrok.io/webhook"

我正在使用 ngrok 将调用转发到我的本地主机。上面的 curl 命令工作正常,这意味着我可以在 /webhook 看到我的服务器上传送的消息。对我来说,这表明问题出在 Facebook,这意味着它超出了我的控制范围。有什么我错过的吗?我还能检查什么,为什么会无提示地失败?

最佳答案

上述问题很可能发生在 Messenger -> settings -> webhooks 窗口中,您必须在底部选择一个Page 订阅应用程序(webhook)。

此外,有时如果您发送消息而 webhook 处于离线状态,则所有消息都需要几分钟才能通过。

关于facebook-messenger - Facebook Messenger 机器人不发布到 webhook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44685166/

相关文章:

php - 向 Facebook 页面关注者发送私有(private)消息 PHP SDK

javascript - 如何在不上传文件的情况下使用 npm 的请求将文件发送到 Facebook Send API?

javascript - 请求正文中的 Facebook Messenger API 内容不完整

c# - Bot Framework 无法发送 FacebookQuickReply ChannelData - 如何查找原因?

Facebook Bot for Messenger First App 教程 - firstEntityValue 未定义

c# - 如何在 Facebook Channel 中为 Bot Framework 设置不同的语言?

android - 点击 Facebook Messenger 聊天项目动画

javascript - 根据子属性设置 json 属性