Мне нужно понять, как работает FB Webhooks
. Я настроил Webhook
для нового Facebook Messenger
, следуя инструкциям, и все работает как часы:
Я создаю конечную точку GET
для первого подключения к API:
router.get('/fb_cb', function(req, res, next) {
if (req.query['hub.verify_token'] === 'my_token') {
res.send(req.query['hub.challenge']);
console.log('fb GET!');
} else {
res.send('Error, wrong validation token');
}
});
В моей панели Fb я впервые достиг этой конечной точки, настроив страницу, настройте конечную точку Page Access Token
для получения обратного вызова:
router.post('/fb_cb', function(req, res, next) {
console.log('hook');
messaging_events = req.body.entry[0].messaging;
for (i = 0; i < messaging_events.length; i++) {
event = req.body.entry[0].messaging[i];
sender = event.sender;
if (event.message && event.message.text) {
console.log(event.sender.id);
}
}
res.sendStatus(200);
});
и все в порядке, я могу общаться со своей страницей :D
Теперь я пытаюсь сделать то же самое для получения пользовательских обновлений, поэтому я настроил конечную точку в Facebook Webhooks
, и конечная точка GET
достигается без проблем. НО, я не получаю никаких уведомлений от моего пользователя, когда я делаю какие-либо действия, такие как публикация контента, изменение личного статуса…
Это текущее состояние моих подписок, полученное Graph API:
data: [{
object: "user",
callback_url: "https://myapp.com/fb_cb",
fields: ["about", "about_me", "current_location", "likes", "photos", "pic", "picture", "status", "statuses", "work"],
active: true
}, {
object: "page",
callback_url: "https://myapp.com/fb_messenger_cb",
fields: ["message_deliveries", "messages", "messaging_optins", "messaging_postbacks"],
active: true
}, {
object: "application",
callback_url: "https://myapp.com/fb_app_cb",
fields: ["async_requests"],
active: true
}]
Есть способ добиться такого результата? Что не так?