【问题标题】:Why I can't subscribe to the Facebook webhook with Cloud9 link?为什么我无法使用 Cloud9 链接订阅 Facebook 网络挂钩?
【发布时间】:2016-06-27 10:49:04
【问题描述】:

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

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

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

如果我在应用程序运行时直接从浏览器导航到该链接 - 我确实会收到响应。为什么FB订阅打不通?

【问题讨论】:

  • 您收到了回复,但您是否查看过检查器中的网络选项卡?显然,它在 最终响应 Facebook 口味之前重定向了太多次。
  • @jonrsharpe 你有没有机会知道这是否是 Cloud9 托管应用程序的任何默认行为?:(
  • 我完全不知道,没有。​​

标签: facebook http webhooks facebook-messenger cloud9


【解决方案1】:

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

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

转到“Window->Share”并点击您的应用程序的“public”复选框。

Sharing your workspace Sharing your App URL

【讨论】:

    【解决方案2】:

    除了@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 返回的随机生成值。

    【讨论】:

      猜你喜欢
      • 2012-09-26
      • 2020-08-17
      • 2020-08-24
      • 2021-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-21
      • 2022-06-14
      相关资源
      最近更新 更多