2016-05-01 8 views
1

Я не могу связать свой сервер node.js в качестве веб-крючка для обмена сообщениями с моим приложением Facebook. Если я попытаюсь подтвердить запрос в вызове '/webhook', Facebook дает мне страницу, не найденную при попытке проверить и сохранить веб-крючок. Если я поместил код в вызов '/', то есть app.get('/',...) вызов, я получаю внутреннюю ошибку сервера, сохраняя веб-крючок. Мое приложение размещено на Heroku. При проверке героических журналов я вижу эту ошибку.Как связать веб-узел node.js с API-интерфейсом моего Facebook-приложения?

Ссылка ошибка:

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

Replace hub.query с req.query вы пытаетесь получить доступ к объект, который не существует.

+1

большое спасибо! – venky