get_started按钮发送messaging_postbacks回调三次

时间:2017-12-25 04:32:56

标签: node.js facebook-messenger-bot

您好我正在使用nodejs并在facebook messenger平台上开发机器人。我的webhook只订阅了messagesmessaging_postbacks个活动。但是,当我测试机器人时,它似乎发送了三次回调。这是我的webhook代码

server.post('/', (req, res, next) => {
   let postback = req.body.entry[0].messaging[0].postback;
   if (postback.payload === 'Greet User'){
    console.log(postback);
   }
}

当我测试我的机器人时,回发对象会被打印三次,如下所示。

{ payload: 'Greet User', title: 'Get Started' }
{ payload: 'Greet User', title: 'Get Started' }
{ payload: 'Greet User', title: 'Get Started' }

任何帮助如何避免它?我在这里阅读了一些帖子,我应该取消选择message_readsmessage_deliveries订阅。但我还没有选择那些。不确定我还缺少什么?请帮帮我。

1 个答案:

答案 0 :(得分:1)

我在网上搜索并自行调试后发现了问题。如果其他人阅读此内容可能有兴趣知道,问题是我没有将200状态发回Facebook。我在这个堆栈溢出帖子中找到了关于需要这样做的提示。

Facebook webhook making multiple calls for the same message?

发送200响应后,我没有收到此问题。放心了:))