如何配置 Facebook webhooks?

How to configure Facebook webhooks?

我想为我正在开发的应用程序配置 Facebook webhooks

到目前为止我所做的是:

  1. 创建 FB 应用程序
  2. 转到应用程序设置并创建一个新的 webhook:
    1. 添加有效的回调 URL
    2. 选择特定字段
  3. 成功保存设置

现在,当我查询页面订阅时,我得到了响应:

{
  "data": [
    {
      "object": "page",
      "callback_url": "CALLBACK_URL",
      "fields": [
        "feed"
      ],
      "active": true
    }
  ]
}

这似乎是有效的。

接下来我该做什么?如何从特定页面的提要开始收听?

这是 Receiving API Updates in Real Time with Webhooks 的完整配置:

第 1 步

  1. Create Facebook page
  2. 转到 https://www.facebook.com/pg/YOUR_PAGE_NAME/about/?tab=page_info 并阅读最底部的 Facebook Page ID

第 2 步

  1. Create a developer account and a Facebook app
  2. 复制你在上面的Facebook App ID描述。

步骤 3

  1. 创建将处理您的回调的服务器应用程序URL。 GitHub.
  2. 上提供了一些示例
  3. Set up your Callback URL 在您在上一步中创建的 Facebook 应用程序中。

第 4 步

将您的 Facebook 应用程序订阅到您的 Facebook 页面。为此,请打开 Graph API Explorer.

  1. 获取页面访问令牌

确保您 select 编辑了您的特定应用程序。

  1. 授予权限后,select您的特定页面。令牌将放在 Access Token 字段中。
  2. 制作POST request到特定的URL:

    /YOUR_PAGE_ID/subscribed_apps
    

总结

就是这样!通过这些步骤,您应该启动服务器应用程序,运行 并监听您声明的所有事件!

为了让 Django 响应 VERIFY 并返回一个 CHALLENGE,这里有一个片段可以在 view.py:

中处理这个问题
VERIFY_TOKEN = '******'

def fbwebhook(request):
    if request.GET['hub.verify_token'] == VERIFY_TOKEN:
        return HttpResponse(request.GET['hub.challenge'])
    else:
        return HttpResponse('Error, invalid token')

我引用了 this GitHub repository