2017-09-10 229 views
0

我真的很困惑如何让我的facebook仪表板中的信使设置。我已经设定了在Heroku使Node.js应用程序与Facebook的API进行交流,并试图连接到以下回调URL:如何将heroku回调URL添加到Facebook仪表板?

https://ancient-dawn-XXXXX.herokuapp.com/webhook/

但是我收到以下错误:

The URL couldn't be validated. Callback verification failed with the following errors: HTTP Status Code = 403; HTTP Message = Forbidden

我的应用程序的app.js文件包含以下代码:

var express = require("express"); 
var request = require("request"); 
var bodyParser = require("body-parser"); 

var app = express(); 
app.use(bodyParser.urlencoded({extended: false})); 
app.use(bodyParser.json()); 
app.listen((process.env.PORT || 5000)); 

// Server index page 
app.get("/", function (req, res) { 
    res.send("Deployed!"); 
}); 

// Facebook Webhook 
// Used for verification 
app.get("/webhook/", function (req, res) { 
    if (req.query["hub.verify_token"] === "process.env.VERIFICATION_TOKEN") { 
    console.log("Verified webhook"); 
    res.status(200).send(req.query["hub.challenge"]); 
    } else { 
    console.error("Verification failed. The tokens do not match."); 
    res.sendStatus(403); 
    } 
}); 

当我尝试访问网址https://murmuring-temple-XXXXX.herokuapp.com/webhook/我还收到FORBIDDEN回复。

缺什么?

+0

您的应用正在工作吗?当你进入根目录时,你会看到“已部署!”信息。 –

回答

0

您正在比较req.query [“hub.verify_token”]字符串“process.env.VERIFICATION_TOKEN”而不是值process.env.VERIFICATION_TOKEN

另外,请确保process.env.VERIFICATION_TOKEN的值与您在设置webhook时提供的验证令牌相匹配。

相关问题