如何将一个node.js webhook连接到我的Facebook应用程序的messenger API?

我无法将我的node.js服务器作为一个messenger Web钩子链接到我的Facebook应用程序。 如果我尝试在'/webhook'调用中validation请求,Facebook在尝试validation并保存Web钩子时给我一个未find错误的页面。 如果将代码放在'/'调用中,即调用app.get('/',...) ,则在保存Web钩子时出现内部服务器错误。 我的应用程序托pipe在Heroku上。 在检查英雄日志时,我看到这个错误。

参考错误:

集线器没有定义

它指向这一行:

 res.send(hub.query['hub.challenge']) 

我的代码是:

 var express = require('express') var bodyParser = require('body-parser') var request = require('request') //the imports app = express() app.set('port', (process.env.PORT || 5000)) app.use(bodyParser.urlencoded({extended: false})) // Process application/json app.use(bodyParser.json()) app.get('/',function(req,res){ if (req.query['hub.verify_token'] === 'my_voice_is_my_password_verify_me') { res.send(hub.query['hub.challenge']) } res.send('wrong token,error') }) app.get('/webhook',function(req,res){ if (req.query['hub.verify_token'] === 'my_voice_is_my_password_verify_me') { res.send(hub.query['hub.challenge']) } res.send('wrong token,error') }) app.listen(app.get('port'), function(req,res) { console.log('server running on port',app.get('port')) }) 

hub.queryreplace为您尝试访问不存在的对象的req.query

Interesting Posts