Обратный вызов сообщения чат-бота Facebook не имеет правильной структуры данных в nodejs

Я внедрил веб-хук для чат-бота facebook с php, используя laravel, и все работает нормально, когда я отправляю сообщение своему боту, я получаю почтовый запрос с ожидаемой структурой данных, и мне удается, чтобы все работало хорошо. Затем я пытался выполнить реализацию веб-перехватчика с помощью nodejs, но когда я отправляю сообщение своему боту, почтовый запрос, который я получаю, не тот, который ожидался. Это немного странно, потому что я смог проверить веб-хук с помощью токена. Я использовал то же приложение и страницу facebook, что и для реализации php, поэтому я не думаю, что проблема в этом. Вот код в узле: http://pastebin.com/0GQcXdV2

Я ожидаю, что структура запроса будет следующей: http://pastebin.com/GFU89LjA

но вместо этого это: http://pastebin.com/51S7DrkG

Извините, если этот вопрос кажется глупым, и я упускаю что-то очевидное, но не могу понять, что. Я новичок в node js, так что, возможно, это ошибка новичка, но если кто-нибудь может сказать мне, что я делаю неправильно, я был бы очень признателен. заранее спасибо


person António Quadrado    schedule 26.05.2016    source источник


Ответы (1)


Мне удалось решить мою проблему, импортировав npm body-parser и заставив мое экспресс-приложение использовать его для возврата JSON. В соответствии с документацией npm объект bodyParser предоставляет фабрики промежуточного программного обеспечения, которые предоставляют тело запроса и назначают его req.body в виде обычного текста, json , необработанного или URL-кодирования тела формы (https://www.npmjs.com)./package/body-parser). Чтобы решить мою проблему, я просто добавил следующие две строки кода:

var bodyParser = require('body-parser');
app.use(bodyParser.json());

Дополнительную информацию о анализаторе тела можно найти по адресу здесь.

person António Quadrado    schedule 26.05.2016