Платформа обмена сообщениями Facebook ngrok

Я пытаюсь настроить веб-перехватчик для API-интерфейса facebook messenger и пытаюсь перенаправить его на мой локальный сервер node.js через ngrok. Запрос GET от facebook для проверки того, что сервер работает безупречно. Но когда я отправляю сообщение на свой сайт через мессенджер, я не получаю никакого ответа на свой веб-перехватчик. Он работает нормально, когда я скручиваю адрес ngrok. Какие-либо предложения ?

Спасибо


person jona jürgen    schedule 17.04.2016    source источник
comment
Прежде всего, убедитесь, что вы следовали Подпишитесь на страницу приложения часть руководства.   -  person rekamoyka    schedule 17.04.2016
comment
Я сделал и, как я уже сказал, отправил вызов GET из Facebook, чтобы убедиться, что ловушка работает.   -  person jona jürgen    schedule 17.04.2016
comment
Веб-перехватчик можно настроить и проверить, не выполняя подписку на приложение, поэтому я упомянул об этом. Если вы уже прошли эту часть, вам нужно поделиться кодом, чтобы мы могли видеть, что происходит.   -  person rekamoyka    schedule 17.04.2016
comment
Есть ли решение этого? Я думаю, что у меня аналогичная проблема. Я тоже использую ngrok, поэтому не уверен, связан ли он с ngrok?   -  person Yibin Lin    schedule 08.05.2016


Ответы (2)


У меня была аналогичная проблема -

Мой текущий (частично работающий) обходной путь - отменить подписку на мою тестовую страницу со страницы конфигурации приложения Facebook (на странице настроек приложения -> Messenger на левой панели -> раздел Webhooks), а затем повторно подписаться на мою тестовую страницу Facebook. Я сразу получу сообщение Http POST после того, как наберу что-то на своей тестовой странице в мессенджере.

Конечно, это может помочь только в тестировании. Это не помогает в производственной среде.

person Yibin Lin    schedule 08.05.2016

Пока приложение Facebook, которое вы используете для интеграции Messenger, находится в неопубликованном состоянии, то есть не подвергалось процессу проверки, через веб-перехватчик ретранслируются только сообщения администраторов, разработчиков и тестировщиков. Убедитесь, что у пользователя, которого вы используете, правильные разрешения в приложении.

В некоторых случаях Facebook также прекращает пересылку сообщений, например, если конечная точка вашего веб-перехватчика неоднократно возвращает ошибки. Проверьте свою панель оповещений на платформе developers.facebook.com. Решение - отказаться от подписки, а затем снова подписаться на страницу.

Дополнительные подсказки: в зависимости от фреймворка, который вы используете на принимающей стороне, он может отклонять сообщения с заголовком x-forwarded-for в запросе (Symfony 2 в моем случае). Используйте параметр -host-header = rewrite с ngrok, чтобы переписать заголовок запроса, если вы столкнетесь с подобными проблемами.

person bluenavajo    schedule 08.08.2016