Я хочу создать аналогичную вещь, описанную здесь, для моей бизнес-страницы в Facebook. Есть много альтернатив, таких как chatfuel и manychat, но я хочу иметь такой же Auto PM, но более гибкий. То, что я сделал до сих пор, я подключился к: веб-хукам и API-интерфейсам мессенджеров. Я написал эти строки кода, которые позволяют мне видеть все изменения в ленте моей бизнес-страницы.
app.post("/api/webhooks", jsonParser, (req, res) => {
const jsonBody = req.body || '';
if (typeof jsonBody !== 'object' || !jsonBody.entry || jsonBody.object !== 'page') { return res.send('no body'); }
// else
const { message, sender_id } = jsonBody.entry[0].changes[0].value;
console.log(message);
if (!message) { return res.send('no message'); }
bot.say(sender_id, 'hey there, Mr. P!');
return res.send('post request');
});
Как я уже сказал, этот фрагмент кода позволяет мне видеть, кто вносил изменения на мою бизнес-страницу, поэтому я могу взять даже идентификатор пользователя. Итак, я подумал, что если я знаю идентификатор пользователя, я могу отправить ему сообщение, но я получаю сообщение об ошибке ниже, когда пытаюсь отправить сообщение.
{ message: '(#100) No matching user found',
type: 'OAuthException',
code: 100,
error_subcode: 2018001,
fbtrace_id: 'CkNJQpdP6A9' }
- bot — это сторонний пакет npm, который называется bootbot. https://github.com/Charca/bootbot
Что я делаю неправильно? Может быть, мне нужно больше разрешений для некоторых действий?