2016-05-01 94 views
1

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

引用错误:

hub is not defined

,并指出这条线:

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')) 
}) 

回答

3

更换hub.queryreq.query你想访问不存在的对象。

+1

非常感谢你! – venky

相关问题