为什么我不能使用Cloud9链接订阅Facebook webhook?

时间:2016-06-27 10:49:05

标签: facebook http webhooks facebook-messenger cloud9

我有一个node.js代码,我在cloud9上进行开发,我想订阅我的“测试”Facebook页面信使到该链接,以便用它来测试\ sandboxing。

但是当我尝试将webhook订阅到我的应用程序运行的Cloud9链接时,我明白了:

enter image description here

我使用的链接是:https://node-。c9users.io 港口是8080

如果我在应用运行时直接从浏览器导航到该链接 - 我会收到回复。为什么FB订阅无法通过?

2 个答案:

答案 0 :(得分:0)

默认情况下,您需要登录C9才能查看已发布的网址,因此当Facebook尝试注册时,会收到“登录C9页面”而不是您的应用网址。

要解决此问题,您需要共享运行webhook的工作区并将其公开。

转到“窗口 - >分享”,然后点击您的应用程序的“公开”复选框。

Sharing your workspace Sharing your App URL

答案 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返回的随机生成的值。