Facebook Messenger 机器人出现 551 错误 - "This person isn't available right now"

551 error with Facebook Messenger bot - "This person isn't available right now"

我为 Facebook Messenger 编写了一个简单的机器人,它获取用户的文本,应用简单的转换并立即 returns 结果。

在我自己测试时,我从来没有遇到过问题,但似乎对于某些用户来说,Facebook returns 在发送回转换后的消息(从我的服务器日志)时出现以下错误:

"www-authenticate": "OAuth \"Facebook 平台\" \"invalid_request\" \"(#551) 这个人现在没空。\""

知道这是什么原因吗?这似乎是随机用户随机发生的,用户应该是可用的,因为结果会立即返回。

谢谢!

这是目前已在 Facebook 平台上确认的错误。 Bug位置:https://developers.facebook.com/bugs/465154327166499/(@m90提到,需要Facebook开发者账号才能查看)

错误描述和重现步骤:

  1. 有新的 Facebook 用户(以前从未与您的应用互动过)
  2. 与该用户一起,询问任何通常会从应用程序产生自动响应的问题

预期结果: 机器人应该回应

实际结果: 对于处于开发模式的应用程序,错误代码为 551,如下所示:

{"error":{"message":"(#551) This person isn't available right now.","type":"OAuthException","code":551,"error_subcode":1545041, ...

对于处于生产模式的应用程序(已提交且 public),错误 200 如下:

{"error":{"message":"(#200) This person isn't available right now.","type":"OAuthException","code":200,"error_subcode":1545041,...

注意:如果用户发送更多消息,bot 在同一用户的第 2 条消息后开始正常回复。

根据Facebook Platform bug page的信息,这个bug出现在2017年5月下旬。在我们这边,我们在上周(从6月5日左右)开始注意到这个问题,重要的是要注意由于这个问题,新应用提交也失败了。

更新 2017 年 6 月 9 日 Bug 已标记为已修复,现在在我们这边工作。如果您仍然遇到问题,Facebook 要求在错误页面上发表评论。

我遇到了同样的错误,这是因为我的页面未发布。一旦我发布了 Facebook 页面,这个错误就消失了。

可能 FB 用户对您的页面设置了障碍。