Facebook Messenger Platform ngrok

时间:2016-04-17 18:04:18

标签: facebook facebook-messenger ngrok

我尝试为facebook messenger api设置webhook,并尝试通过ngrok转发到我的localhost node.js服务器。来自facebook的用于检查服务器的GET请求是完美的。但是当我通过信使向我的网站发送消息时,我没有得到任何对我的webhook的回复。当我卷曲ngrok地址时,它工作正常。有什么建议吗?

由于

2 个答案:

答案 0 :(得分:0)

我遇到了类似的问题 -

我当前(半工作)的解决方法是从Facebook应用配置页面取消订阅我的测试页面(在应用设置页面 - >左侧面板中的Messenger - > Webhooks部分),然后重新订阅我的测试Facebook页面。我在信使中输入测试页后会立即收到Http POST消息。

当然,这只能帮助测试。它对生产环境没有帮助。

答案 1 :(得分:0)

只要您用于Messenger集成的Facebook应用程序处于未发布状态,即未经过审核流程,管理员,开发人员和测试人员只会通过webhook转发消息。 检查您使用的用户是否拥有该应用的正确权限。

在某些情况下,Facebook也会停止转发消息,例如,如果您的webhook端点重复返回错误。检查developers.facebook.com平台中的警报仪表板。 解决方案是取消订阅,然后再次订阅页面。

进一步提示: 根据您在接收端使用的框架,它可能会拒绝请求中带有x-forwarded-for标头的消息(在我的情况下为Symfony 2)。 如果遇到类似的问题,请使用带有ngrok的-host-header = rewrite选项重写请求标头。