我正在使用 NodeJS 和 Express 为 Facebook Messenger API 设置 Webhook。我已经将其上传到自签名 HTTPS 服务器,网址为 https://122.2.53.34:8000/webhook。
这是我的服务器代码:
app.get('/webhook', (request, response) => {
const VERIFY_TOKEN = "facebook"
const mode = request.query['hub.mode']
const token = request.query['hub.verify_token']
const challenge = request.query['hub.challenge']
if(mode && token) {
if(mode === 'subscribe' && token === VERIFY_TOKEN) {
console.log('WEBHOOK_VERIFIED')
response.status(200).send(challenge)
} else {
response.sendStatus(403)
}
}
})
我也研究了这个类似的StackOverflow问题,但没有帮助。
对于任何遇到此问题的人,您必须确保您的回复是纯文本消息。
res.set('Content-Type', 'text/plain');