Messenger Bot 无法响应

Posted

技术标签:

【中文标题】Messenger Bot 无法响应【英文标题】:Messenger Bot Fails to Respond 【发布时间】:2016-11-16 05:05:00 【问题描述】:

我的机器人已经获得批准并且可以公开使用(见图),但它不会回复除开发者之外的任何人。

我将它托管在 Heroku 上。我尝试使用大量控制台日志对其进行调试,并且我意识到当开发人员以外的任何人发送它时,它不会记录 "Enter App.Post"(见下文)一个消息。

有其他人经历过这种行为吗?

/// Facebook verification
app.get('/webhook/', function (req, res) 
    if (req.query['hub.verify_token'] === '***************') 
        res.send(req.query['hub.challenge'])
    
    res.send('Error, wrong token')
)

/// Star up the server
app.listen(app.get('port'), function() 
    console.log('running on port', app.get('port'))
)

app.post('/webhook/', function (req, res) 
    console.log("Enter App.Post");
    messaging_events = req.body.entry[0].messaging
    for (i = 0; i < messaging_events.length; i++) 
        ....

更新:我发现了以下日志:

Error:   message: '(#10) Cannot message users who are not admins, developers or testers of the app until pages_messaging permission is reviewed and the app is live.',
type: 'OAuthException',
code: 10,
fbtrace_id: 'CVUDg****' 

【问题讨论】:

【参考方案1】:

您确定您的 Facebook Messenger 机器人已获得 Facebook 的批准吗?

除了管理员、开发人员和测试人员之外的任何人都可以使用它之前,他们必须正式批准信使机器人。

提供的代码中没有任何内容可以阻止它接收来自其他用户的消息,所以我猜你的机器人实际上还没有得到 Facebook 的批准。

如果您尝试使用除您自己之外的用户对其进行测试,请将他们添加为测试人员,他们将可以访问机器人,预先批准。

【讨论】:

它是 approved 并且是 public 。它也适用于我指定为测试人员的人 也许他们的批准有问题。有没有办法重新提交?如果没有,您可能需要打开错误报告。

以上是关于Messenger Bot 无法响应的主要内容,如果未能解决你的问题,请参考以下文章

FB messenger Bot 没有收到回发负载

Facebook Messenger Bot 使用回发按钮共享结构化消息

如何使用多个用户测试 FB Messenger bot

Azure Bot服务Facebook Messenger回调URL提供404

java的Facebook Messenger bot对象结构

Bot Framework v4 + Messenger 区域设置