專頁專用 Webhooks

專頁的 Webhooks 可向您傳送有關專頁變更的即時通知。例如,每當用戶向您的動態消息發佈內容、在帖子上留言或讚好了您的帖子,您可收到即時更新。

如要設定專頁 Webhook:

  1. 設定端點並配置 Webhooks 產品
  2. 使用 Facebook 專頁安裝您的應用程式

設定端點和 Webhook 產品

按照我們的新手入門指南建立端點和配置 Webhooks 產品。配置期間,請務必選擇專頁物件並訂閱以下一個或多個專頁欄位。

欄位說明

feed

在專頁的動態消息有所變更時通知您,例如帖子、心情、分享等。

messages

在您的專頁收到 Messenger 訊息時通知您。請參閱 Messenger Webhooks 指南,查看所有可用訊息 Webhooks 欄位的清單

安裝應用程式

只有在您的專頁已安裝 Webhooks 配置的應用程式,而且專頁未在其應用程式設定中停用應用程式平台時,系統才會傳送 Webhook 通知。如要讓專頁安裝應用程式,請使用專頁的存取憑證,讓應用程式向專頁的 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 將傳回空白資料組合。

Graph API 測試工具

如果您不想以編程方式安裝應用程式,則可改用 Graph API 測試工具輕鬆安裝:

  1. 應用程式下拉式選單中選擇您的應用程式。此操作會傳回您應用程式的存取憑證。
  2. 點擊取得憑證下拉式選單,選擇取得用戶存取憑證,然後選擇 pages_manage_metadata 權限。這會將您的應用程式憑證換取為獲授予 pages_manage_metadata 權限的用戶存取憑證。
  3. 再次點擊「取得憑證」,然後選擇您的專頁。這會將您的用戶存取憑證換取為專頁存取憑證。
  4. 點擊 GET 下拉式選單,然後選擇 POST,即可更改操作方式。
  5. 將預設的 me?fields=id,name 查詢替換為專頁的編號(接著是 /subscribed_apps),然後提交查詢。

常見用途

獲取專頁動態消息詳情

您的應用程式可以訂閱專頁的動態消息,並在發生任何與動態消息相關的變更時隨時收到通知。例如,這是用戶向專頁發佈帖子時系統所傳送的通知。

Webhook 回應範例

[
  {
    "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}"
}