Javascript Messenger平台:Webhook失败

Javascript Messenger平台:Webhook失败,javascript,node.js,facebook-messenger,facebook-messenger-bot,Javascript,Node.js,Facebook Messenger,Facebook Messenger Bot,我的问题有点像 您对回调URL https://{domain}/bot的Webhooks订阅至少有2天未接受更新。请验证您的回调服务器是否正常工作。请访问我们的参考文档,了解如何更新回调URL 如果您的回调URL在12小时后仍然失败,您的订阅将被禁用。要重新激活,只需使用相同的参数发出POST请求,或访问应用程序仪表板中的Webhooks选项卡 但是,我非常确定我已将状态200返回到每个请求,以下是我代码的一部分: router.post("/bot", (req, res

我的问题有点像

您对回调URL https://{domain}/bot的Webhooks订阅至少有2天未接受更新。请验证您的回调服务器是否正常工作。请访问我们的参考文档,了解如何更新回调URL

如果您的回调URL在12小时后仍然失败,您的订阅将被禁用。要重新激活,只需使用相同的参数发出POST请求,或访问应用程序仪表板中的Webhooks选项卡

但是,我非常确定我已将状态200返回到每个请求,以下是我代码的一部分:

router.post("/bot", (req, res) => {
    Promise.map(req.body["entry"], eachEntry => {
        return Promise.map(eachEntry["messaging"], eachMessage => {
           // some postback and quick_replies handling, send messages...
        });
    })
    .then(() => res.sendStatus(200))
    .catch(err => {
        console.error(err.stack);
        res.sendStatus(200);
    });
});
我只订阅了诸如
消息
消息_回发
消息_传递
之类的事件。我想即使有些事情我没有处理,这些请求最终也会得到状态200

但我不明白的是,每次我收到webhook失败警报时,我都没有看到错误或任何未在日志中作为状态200返回的内容

我还尝试将
res.sendStatus(200)
更改为
res.end()
res.status(200.end()
,但都没有帮助


提前谢谢你

在过去的两周里,我一直在处理这个问题,这让我抓狂,因为我知道我们的服务器上一切正常,webhook的响应总是200 OK

所以我找到了这个线索:。。。显然很多人都有这个问题。原来是Messenger平台侧的故障

以下是facebook团队的一位成员写道:

嗨,尤金和其他人

我们已经解决了这个问题,它将在下周二推出。请继续收看

谢里什 5小时前·(2017年1月4日)


所以祈祷吧。。。这个问题应该很快解决!;)

您是否尝试过使用postman向您的端点发送邮件?是的,我尝试过,并且效果良好。事实上,它已经是公开的,一些朋友已经用过了。我的意思是一些朋友已经用过这个机器人一段时间了。不知何故,我无法编辑我的评论…您可以尝试发送承诺之外的响应状态。我的意思是,你不需要等待承诺返回响应状态,你将始终发送200。@AndrésAndrade是的,我在考虑这个问题。但我在评论区使用。我试图将res.sendStatus(200)移到顶部,但是发送者的动作会…有点奇怪。它显示然后消失。然后它又出现了。我想我只是太挑剔了。。。但我也不认为这是问题的根源(