【问题标题】:How do I link a node.js webhook to the messenger API of my Facebook app?如何将 node.js webhook 链接到我的 Facebook 应用程序的 messenger API?
【发布时间】:2016-05-01 11:08:36
【问题描述】:

我无法将我的 node.js 服务器作为信使网络挂钩链接到我的 Facebook 应用程序。如果我尝试验证 '/webhook' 调用中的请求,Facebook 会在尝试验证和保存 Web 挂钩时给我一个页面未找到错误。如果我将代码放在'/' 调用中,即app.get('/',...) 调用中,我会在保存网络挂钩时收到内部服务器错误。我的应用程序托管在 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'))
})

【问题讨论】:

    标签: node.js facebook heroku messenger chatbot


    【解决方案1】:

    hub.query 替换为req.query,您正试图访问一个不存在的对象。

    【讨论】:

      猜你喜欢
      • 2016-08-13
      • 2016-10-12
      • 1970-01-01
      • 2019-07-02
      • 1970-01-01
      • 2012-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多