如何将 heroku 回调 URL 添加到 Facebook 仪表板?
How to add heroku callback URL to Facebook dashboard?
我真的很困惑如何在我的 Facebook 控制面板中设置 Messenger。我在 Heroku 上设置了一个 node.js 应用程序来与 facebook API 通信,并尝试连接到以下回调 URL:
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);
}
});
当我尝试访问 URL https://murmuring-temple-XXXXX.herokuapp.com/webhook/
时,我也收到了 FORBIDDEN 响应。
缺少什么?
您正在比较 req.query["hub.verify_token"] 与字符串 "process.env.VERIFICATION_TOKEN" 而不是值 process.env.VERIFICATION_TOKEN
.
此外,请确保 process.env.VERIFICATION_TOKEN
的值与您在设置 webhook 时提供的验证令牌相匹配。
我真的很困惑如何在我的 Facebook 控制面板中设置 Messenger。我在 Heroku 上设置了一个 node.js 应用程序来与 facebook API 通信,并尝试连接到以下回调 URL:
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);
}
});
当我尝试访问 URL https://murmuring-temple-XXXXX.herokuapp.com/webhook/
时,我也收到了 FORBIDDEN 响应。
缺少什么?
您正在比较 req.query["hub.verify_token"] 与字符串 "process.env.VERIFICATION_TOKEN" 而不是值 process.env.VERIFICATION_TOKEN
.
此外,请确保 process.env.VERIFICATION_TOKEN
的值与您在设置 webhook 时提供的验证令牌相匹配。