公共主页专用 Webhooks

公共主页专用 Webhooks 可向您发送有关公共主页发生变化的实时通知。例如,每当用户对您动态发布内容、评论帖子或点赞您的帖子,您都会收到实时更新。

如要设置公共主页 Webhooks,您需要:

  1. 设置端点并配置 Webhooks 产品
  2. 使用 Facebook 公共主页安装您的应用

设置您的端点和 Webhooks 产品

按照我们的入门指南创建端点并配置 Webhooks 产品。配置期间,请务必选择公共主页对象并订阅以下一个或多个公共主页字段。

字段描述

feed

在公共主页动态发生变动时通知您,如发帖、发布心情、分享等。

messages

在您的公共主页收到 Messenger 消息时通知您。如需所有可用的消息 Webhooks 字段列表,请参阅 Messenger 专用 Webhooks 指南

安装您的应用

仅在公共主页已安装 Webhooks 配置的应用,并且公共主页未在其应用设置中禁用应用平台时才会发出 Webhooks 通知。要让公共主页安装应用,请使用公共主页的访问口令,让应用向公共主页的 subscribed_apps 连线发送 POST 请求。

要求

以下要求仅适用于消息相关字段

请求示例

curl -i -X POST "https://graph.facebook.com/{page-id}/subscribed_apps
  ?subscribed_fields=feed
  &access_token={page-access-token}"

响应示例

{
  "success": "true"
}

要查看您的公共主页安装了哪款应用,请改为发送 GET 请求:

请求示例

curl -i -X GET "https://graph.facebook.com/{page-id}/subscribed_apps &access_token={page-access-token} 

响应示例

{
  "data": [
    {
      "category": "Business",
      "link": "https://my-clever-domain-name.com/app",
      "name": "My Sample App",
      "id": "{page-id}"
    }
  ]
}

如果您的公共主页未安装任何应用,API 将返回空数据集。

图谱 API 探索工具

如果不想通过编程方式安装应用,您还可使用图谱 API 探索工具轻松完成安装:

  1. 应用程序下拉菜单中选择您的应用。此操作将返回应用的访问口令。
  2. 点击获取口令下拉菜单,选择获取用户访问口令,然后选择 pages_manage_metadata 权限。此操作会将您的应用口令与授予 pages_manage_metadata 权限的用户访问口令互换。
  3. 再次点击获取口令,然后选择您的公共主页。此操作会将您的用户访问口令与公共主页访问口令互换。
  4. 点击 GET 下拉菜单,然后选择 POST,即可更改操作方式。
  5. 将默认 me?fields=id,name 查询替换为公共主页的编号,在此编号之后输入 /subscribed_apps,然后提交查询。

常见用途

获取公共主页动态详情

您的应用可以订阅公共主页的动态,并随时在发生任何与动态相关的变动时获得通知。例如,以下是针对用户向公共主页发布内容时发送的一条通知。

Webhooks 响应示例

[
  {
    "entry": [
      {
        "changes": [
          {
            "field": "feed",
            "value": {
              "from": {
                "id": "{user-id}",
                "name": "Cinderella Hoover"
              },
              "item": "post",
              "post_id": "{page-post-id}",
              "verb": "add",
              "created_time": 1520544814,
              "is_hidden": false,
              "message": "It's Thursday and I want to eat cake."
            }
          }
        ],
        "id": "{page-id}",
        "time": 1520544816
      }
    ],
    "object": "page"
  }
]

使用通知中的 post_id该公共主页帖子发表评论

API 请求示例

curl -i -X POST   "https://graph.facebook.com/{page-post-id}/comments
  ?message=I%20want%20chocolate%20cake%20!
  &access_token=page-access-token" 

API 响应示例

{
  "id": "{comment-id}"
}