У меня есть бот-мессенджер, созданный в узле.Пользователь комментирует страницу, и это запускает последовательность сообщений.Ранее он работал, однако теперь я получаю сообщение об ошибке «Страница не имеет прав доступа 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(/[^\w\s]/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);
}
});