【发布时间】:2017-02-23 10:28:17
【问题描述】:
我会尽力解释我遇到的问题。 当我通过自己的 FB 帐户使用机器人时,一切正常。
但是当我要求其他人使用它时,机器人没有响应他们,尽管我在 dev.FB 中的 pages_messaging 上有绿色勾号。
让机器人写回复的基本 sendText 函数:
function sendText(sender, text){
let messageData = {text : text}
console.log("comes here too" + " message data: " +messageData);
request({
url: "https://graph.facebook.com/v2.6/me/messages",
qs : {access_token : token},
method: "POST",
json: {
recipient : {id: sender},
message : messageData
}
}, function(error, response, body){
if ( error){
console.log("sending error")
} else if(response.body.error){
console.log("messageData: " + messageData + "recipient " + sender)
console.log("response body error" + response + " body "+body)
}
})
}
我得到的错误是其他人试图连接到机器人: 我通过 3 个 console.logs 得到以下信息:
comes here too message data: [object Object]
messageData: [object Object]recipient (MyOtherAccountIDIsHere)
response body error[object Object] body [object Object]
我最初的想法是 bot-review 没有正常工作,页面实际上没有被批准。由于在我的开发人员 FB 帐户上,我可以正常与机器人聊天,没有任何问题(如果没有出现 2 个 console.logs,则最后一个)
请让我知道您的想法,如果需要,愿意提供任何其他信息。
【问题讨论】:
-
在您的 console.log 中将
+替换为,并向我们展示结果 -
@ponury-kostek 我有很多行带有逗号pastebin.com/zEZwnNBg 我想这就是那里重要的行:{错误:2017-02-23T10:52:53.768364+00:00 app [web.1]: { message: '(#10) 在审核 pages_messaging 权限并且应用上线之前,不能向不是应用管理员、开发人员或测试人员的用户发送消息。',...
-
在这里调试访问令牌developers.facebook.com/tools/debug/accesstoken,确保它属于正确的应用ID。
-
不,不要过早删除任何内容 :) 您的应用已上线,是吗?还没有处于开发模式?
-
不,这两件事彼此无关。您需要将您的应用设置为实时,否则它根本无法与普通用户交互。您需要切换 App Review 选项卡顶部的开关。
标签: javascript node.js facebook messenger facebook-messenger-bot