我有一个node.js代码,我在cloud9上进行开发,我想订阅我的“测试”Facebook页面信使到该链接,以便用它来测试\ sandboxing。
但是当我尝试将webhook订阅到我的应用程序运行的Cloud9链接时,我明白了:
我使用的链接是:https://node-。c9users.io 港口是8080
如果我在应用运行时直接从浏览器导航到该链接 - 我会收到回复。为什么FB订阅无法通过?
答案 0 :(得分:0)
默认情况下,您需要登录C9才能查看已发布的网址,因此当Facebook尝试注册时,会收到“登录C9页面”而不是您的应用网址。
要解决此问题,您需要共享运行webhook的工作区并将其公开。
转到“窗口 - >分享”,然后点击您的应用程序的“公开”复选框。
答案 1 :(得分:0)
除了@Roberdam的回答,我建议您将GET路由设置如下:
app.get('/', function (req, res) {
console.log(req);
if (req.query['hub.verify_token'] === 'verifycode') {
res.send(req.query['hub.challenge']);
}
res.send('Error, wrong validation token!');
});
hub.challenge 是您的webhook返回的随机生成的值。