Подтвердить что ты не робот

API-интерфейс Facebook Messenger: проблема с настройкой webhook

Я пытаюсь настроить веб-крючок для новой платформы ботов Facebook Messenger на моем веб-сервере PHP и получаю эту ошибку:

URL не может быть проверен. Ответ не соответствует вызову, ожидаемое value = '364011207', получено = '

Ресурсы

https://developers.facebook.com/docs/messenger-platform/quickstart

https://developers.facebook.com/docs/messenger-platform/webhook-reference#common_format

Любая помощь очень ценится.

4b9b3361

Ответ 1

Я наткнулся на исправление. Я отменил попытку js и создал новый файл php со следующим кодом:

<?php

$challenge = $_REQUEST['hub_challenge'];
$verify_token = $_REQUEST['hub_verify_token'];

if ($verify_token === 'my_token_code') {
echo $challenge;
}

Я получил этот код с первых 10 минут этого видео: https://www.facebook.com/marketingdevelopers/videos/883648801749520/

Ответ 2

Этот код node.js и должен запускаться на сервере не в теге <script> в вашем HTML.

Здесь просто пройдите через настройку бот-посланника с помощью node.js: https://github.com/voronianski/simon-le-bottle

По существу вам необходимо убедиться, что у вас есть хост, который поддерживает приложения node.js и запускает его как таковой. Он не будет работать внутри HTML.

Ответ 3

Не уверен, что эта помощь, но параметры запроса, которые отправляются FB, с подчеркиванием не являются точками, например.

  • hub_verify_token
  • hub_mode
  • hub_challenge

P.S.

Извините, это верно для PHP

Ответ 4

@shane

webhook: function(req, res) {

   if (req.query['hub.verify_token'] === 'tokentoken') {
      res.send(req.query['hub.challenge']);
   } else {
      res.send('Error, wrong validation token');    
   }
}

Заметьте, что именно вы делаете. но это то, что я сделал, и оно работает.

Я тестировал сервер ngrok, поскольку у меня нет имени домена, а URL обратного вызова https://werwrwetwtw.ngrok.io/webhook

Надеюсь, это поможет!

Ответ 5

Я просто решил эту проблему, добавив в URL обратного вызова '/webhook'...