node.js - 无法验证 URL Facebook Messenger 聊天机器人

标签 node.js webhooks facebook-chatbot

我尝试在 facebook 上创建一些机器人信使,但是当我尝试设置 webhook 时它总是失败,有什么建议吗?

enter image description here

这是我的代码,我的设置做错了什么?

const express   = require('express');
const bodyParser    = require('body-parser');
const request = require('request');
const app   = express();

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));

const APP_SECRET    = "";
const VALID_TOKEN   = "semarangbot";
const SERVER_URL    = "https://b915e9f8.ngrok.io";
const ACCESS_TOKEN  = "";
const server = app.listen(process.env.PORT || 5000, () => {
  console.log('Express server listening on port %d in %s mode', server.address().port, app.settings.env);
})
app.get('/', (req, res) => {
    console.log('Server Ok!');
    res.sendStatus(200);
});

app.get('/webhook', (req, res) => {
    if (req.query['hub.mode'] && req.query['hub.verify_token'] === VALID_TOKEN) {
        res.status(200).send(req.query['hub.challenge']);
    } else {
        res.status(403).end();
    }
});

最佳答案

您需要将 /webhook 添加到“回调 URL”字段中的 URL。这是您设置用于验证的端点。现在,您告诉 Messenger Platform 调用 / 进行验证,该验证仅返回 200OK

关于node.js - 无法验证 URL Facebook Messenger 聊天机器人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47944891/

相关文章:

Node.js 无法从电报机器人 websocket 接收数据

github - 是否可以将 webhooks 添加到要点?

facebook - 如何在 facebook messenger bot 中设置 "Get started"按钮以及何时发送欢迎消息

javascript - 如何将输出图像从 Node js 子进程发送到 'parent'?

javascript - Node.js 中如何解释 'use strict' 语句?

node.js - Nodejs - Expressjs - 验证 shopify webhook

facebook-messenger - Facebook Messenger Bot 能否与群组中的两个或更多人聊天?

webhooks - 保护您的 facebook chatbot webhook 的最佳实践是什么?

node.js - 运行 `heroku local` 时如何获取有关错误的更多详细信息

javascript - 如何一一执行url请求而不导致堆栈溢出? ( Node .JS)