信使机器人使用节点和私人回复对消息进行评论 - read_page_mailboxes无法获得



我在节点上创建了一个信使机器人。用户在页面上发表评论,这将启动消息序列。它以前一直在工作,但现在我收到错误"该页面没有read_page_mailboxes或pages_messaging权限"。

我已经按照此溢出中的说明创建了一个永久访问令牌:facebook:永久页面访问令牌? - 这不起作用

我试图请求获得read_page_mailboxes的权限,但这被拒绝了,因为这个边缘需要包含一个平台和登录信息,我的机器人不使用这些,只使用评论到消息功能

我能够获取用户在页面上输入的单词,但是我无法使用comment_id发送私人消息。

if(entry.hasOwnProperty('changes')) {
entry.changes.forEach(function(changes){
let comp_comment;
if(typeof changes.value.message !== "undefined") {
comp_comment = changes.value.message.replace(/[^ws]/gi, '').trim().toLowerCase();
}
if(changes.field=="feed" && changes.value.item=="comment" && changes.value.verb=="add" && comp_comment == "enter") {
let user = changes.value.from.name;
let comment_name = user.replace(/ .*/,'');
callPrivateReply(changes.value.comment_id, comment_name);
}
})

}

那么这是我的请求函数

function callPrivateReply(comment_id, first_name) {
let messageData = {
"message": `this is the message I'm attempting to send`
}
request({
"uri": 'https://graph.facebook.com/v2.12/'+comment_id+'/private_replies',
"qs": { "access_token": PAGE_ACCESS_TOKEN },
"method": 'POST',
json: messageData
}, function (err, res, body) {
if (!err && res.statusCode == 200) {
console.log(body);
} else {
console.error("Failed calling Send API", res.statusCode, res.statusMessage, body.error);
}

}(;

您需要设置pages_messages权限和read_mail_boxes,才能通过应用应用审核来提前从站立访问。 通过访问以下路径进行检查>>

Messenger 文档>>>>消息传递>>私人回复入门。

最新更新