我的机器人已经获得批准并可以公开使用(见图片),但除了开发人员之外,它没有回应任何人。
我把它托管在Heroku上。我试着用大量的控制台日志调试它,我已经意识到当开发人员以外的任何人发送它时,它不会记录“输入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****' }
答案 0 :(得分:1)
你确定你的Facebook messenger机器人已被Facebook批准吗?
除了管理员和测试人员之外,除了管理员和测试人员之外,他们必须正式批准messenger bot。
提供的代码中没有任何内容可以阻止它接收来自其他用户的消息,所以我猜你的机器人实际上还没有被Facebook批准。
如果您尝试使用自己以外的用户对其进行测试,请将其添加为测试人员,他们可以访问机器人,预先批准。