如何配置Facebook webhooks?

时间:2016-12-09 21:20:36

标签: facebook facebook-graph-api webhooks facebook-webhooks

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

到目前为止我做的是:

  1. 创建FB应用
  2. 转到应用设置并创建新的webhook:
    1. 添加有效的回拨网址
    2. 选择特定字段
  3. 成功保存设置
  4. 现在,当我查询页面订阅时,我得到了回复:

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

    似乎是有效的。

    接下来我该怎么办?如何从特定页面的Feed中开始收听?

2 个答案:

答案 0 :(得分:12)

以下是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
  3. 第2步

    1. Create a developer account and a Facebook app
    2. 复制上述点中描述的Facebook App ID
    3. 第3步

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

        将Facebook App订阅到您的Facebook页面。要做到这一点,请打开Graph API Explorer

        1. 获取页面访问令牌 Alt text
        2. 确保您选择了特定的应用程序。

          1. 授予权限后,请选择您的特定页面。该令牌将放入Access Token字段。
          2. POST request设为特定网址:

            /YOUR_PAGE_ID/subscribed_apps
            
          3. 摘要

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

答案 1 :(得分:0)

为了让Django回复使用CHALLENGE的VERIFY,这里有一个片段来处理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