Мой бот node js не может проверить токен проверки для платформы ботов facebook messenger. Я правильно выполнил настройку веб-перехватчика в консоли разработчика, следуя данной официальной документации. Я уже создавал чат-бота, поэтому могу быть уверен, что правильно настроил параметры консоли приложения. Пожалуйста, проверьте мой следующий код и скажите, если с ним что-то не так.
'use strict'
const express = require('express');
const bodyParser = require('body-parser');
const request = require('request');
const app = express();
app.set('port', (process.env.PORT || 5000));
// Process application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({extended: false}));
// Process application/json
app.use(bodyParser.json());
const VALIDATION_TOKEN = (process.env.MESSENGER_VALIDATION_TOKEN) ?
(process.env.MESSENGER_VALIDATION_TOKEN) :
'alex';
// Webhook route
app.get('/', function (req, res) {
console.log(req.query);
// console.log(req.query['hub.verify_token']);
if (req.query['hub.verify_token'] === VALIDATION_TOKEN) {
console.log("Validating webhook");
res.status(200).send(req.query['hub.challenge']);
} else {
console.error("Failed validation. Make sure the validation tokens match.");
res.sendStatus(403);
}
});
// Spin up the server
app.listen(app.get('port'), function() {
console.log('running on port', app.get('port'));
});
console.log(req.query) возвращает пустой объект, и всегда выполняется другая часть if-else, и консоль выводит: «Проверка не удалась. Убедитесь, что токены проверки совпадают».