Facebook Messenger - 回发中断?

时间:2016-06-15 21:48:06

标签: facebook-messenger

过去几个月我一直在成功开发Facebook Messenger机器人,最近一直遇到“回发”有时不会发送到我的服务器的问题,即使是立即发送普通类型的消息,当然网络钩子验证正常

有时候,如果有足够的拆卸/订阅Web挂钩和页面,回发会再次起作用,但我不能总是让它再次工作。我有多个机器人和多个页面运行不确定是否相关。

此外,是的,我目前订阅了回复邮件。

还有其他人经历过这个吗?谢谢

4 个答案:

答案 0 :(得分:2)

现在可能已经解决了,但我终于能够弄清楚回发什么时候工作,什么时候没有。

根据我的观察和许多测试,我得出结论,Facebook使用相同的访问令牌来回复"回发"用于创建持久性菜单,通用模板按钮或按钮模板。

如果页面ID或APP id(更可能,因为人们有相同机器人的prod和测试应用程序)不同,即使webhook有&#34,回发也不会发送回webhook ; messaging_postbacks"认购。

在我的情况下,事实证明页面访问令牌是使用生产APP ID生成的,我正在我的测试应用程序中进行测试,该应用程序具有不同的app iD。此外,我的持久性菜单在通过测试应用程序access_token生成时也有效。

作为最佳实践,我对访问令牌进行了硬编码(如果环境不是prod,则生成的access_tokens会在一段时间内过期更安全),并在应用程序处于活动状态时使用逻辑生成令牌。 / p>

答案 1 :(得分:0)

<强>更新

事实证明,经过44小时的消防后,问题会自动纠正。 Facebook团队回复说他们所有的都是502错误。这也是自动解决的。我已经联系了我的域名提供商和AWS,他们说问题不在他们的最后。

我的结论是,必须在facebook的基础架构中发生一些事情,因为同一个域不能有部分502错误(意味着它发生了一个用例,而当webhook url相同时则不然)。希望他们能够弄明白,即使他们没有告诉我们。

所以我没有评论的声誉点,所以我发帖作为答案。我面临着类似的问题,唯一的区别是我们在回发中得到了快速反应,但没有得到消息。

我们一直面临着我们的服务器上针对messenger bot的不规则传入消息的问题。我们的观察是,在用户输入(和发送)消息后的几个(随机)秒之后,我们才会收到有效负载。但是,如果执行了按键操作,facebook会立即向我们发送必要的有效负载。

我们已经确定apache服务器没有收到任何请求(在此期间)。我们还确定我们的SSL证书尚未过期。此外,我们在AWS实例上打开了所有必需的端口(主要是443和80)。

有人提出任何线索吗?我们在过去的21-22小时内遇到了这个问题。

答案 2 :(得分:0)

我昨天遇到了同样的问题,同时开发了第二个facebook messenger bot(第二页)。回发不会在几个小时后发生,这是多么荒谬(正如我所料,这些信息不应该来!!!)。

原因是第二页的页面访问令牌错了!你必须从正确的应用程序中选择正确的令牌。因为可以从第一个应用程序生成第二页的页面访问令牌。

答案 3 :(得分:0)

订阅webhook时,选择messaging_postbacks复选框。