Meta Webhooks

Webhooks 讓您可以就 Meta 社交關係圖內特定物件的變更接收即時的 HTTP 通知。舉例來說,當您的應用程式用戶更改其電郵地址,或當其在您的 Facebook 專頁上留言時,我們可以傳送通知給您。這樣,您就無需查詢 Graph API 以了解可能發生或未發生的物件變更,協助您避免達到限速額度

付款專用 WebhooksMessenger 專用 Webhooks 的配置步驟稍有不同。如果您要設定上述產品的 Webhook,請參閱個別的文件以了解設定說明。

物件、欄位與值

Meta 社交關係圖中有許多類型的物件,例如「用戶」物件和「專頁」物件。所以每次配置 Webhook 時,您都必須先選擇一種物件類型。由於不同物件有不同的欄位,您必須針對該物件類型訂閱特定欄位。每當您訂閱的物件欄位的值有所變動,我們就會傳送通知給您。

我們會以 HTTP POST 要求的形式傳送通知,其中包含描述該變更的 JSON 承載。舉例來說,假設您設定了 User Webhooks,並訂閱 Photos 欄位。如果您的應用程式用戶上載了一張相片,我們便會向您傳送類似下列內容的通知:

通知範例

{
  "entry": [
    {
      "time": 1520383571,
      "changes": [
        {
          "field": "photos",
          "value": {
            "verb": "update",
            "object_id": "10211885744794461"
          }
        }
      ],
      "id": "10210299214172187",
      "uid": "10210299214172187"
    }
  ],
  "object": "user"
}

HTTPS 伺服器

您需使用 HTTPS 傳送 Webhooks,因此您的伺服器必須能夠接收和處理 HTTPS 要求,而且必須安裝有效的 TLS/SSL 證書。系統不支援自行簽署的憑證。

應用程式審查

Webhooks 無需接受應用程式審查。不過,若要在應用程式處於已發佈模式時接收有關物件變更的 Webhooks 通知,您的應用程式必須授予存取該等物件所需的相關權限。請參閱下方的權限部分。

權限

應用程式在正式發佈前,一般需要通過應用程式審查。審查期間,應用程式可以要求批准使用特定權限,以便控制使用 Graph API 時應用程式可存取的數據類型。

雖然 Webhooks 產品無需經過應用程式審查,但亦設有權限限制。這代表即使您設定了 Webhook,並訂閱了物件類型的特定欄位,您也不會收到任何有關該物件類型的變更通知,除非:

  • 您的應用程式已獲得有關該數據類型的相關權限,以及
  • 擁有數據的物件已授權您的應用程式存取該數據(例如,用戶允許您的應用程式存取其動態)。

開發模式

如果應用程式處於開發模式,將只能收到透過應用程式管理中心發起的測試通知,或由具備應用程式角色的用戶所發起的通知。

請注意,開發模式行為不同於 Messenger Webhooks 事件。請參閱 Messenger 專用 Webhooks 文件,以了解更多詳情。

設定

如要使用 Webhooks,您需要在安全的(HTTPS)伺服器上設定一個端點,然後在應用程式管理中心中加入和配置 Webhooks 產品。餘下的這些文件會講解如何完成這些步驟。

準備好了嗎?馬上開始吧!

了解詳情