配對應用程式和專頁的用戶

如果您想在應用程式的測試、開發、預備或品質保證版本之間共用同一個範圍用戶編號,請使用測試版應用程式

Facebook 會為首次登入應用程式實例的用戶和經受限登入的用戶分配應用程式範圍用戶編號,並會為首次使用 Messenger Bot 的用戶分配專頁範圍用戶編號。因此,相同用戶的應用程式和 Messenger Bot 編號或會有所不同。

一間企業可能會運行多個 Facebook 應用程式或 Messenger Bot;例如,很多遊戲工作室會這樣做,以支援交叉推廣或偵測欺詐等用途,或是使用 Messenger Bot 來與用戶溝通。在這些情況下,您可能需要配對同一位用戶的應用程式和 Messenger Bot 編號。

您可以使用三種方法,以配對同一位用戶的多個應用程式編號:

在您使用這些機制之前,您必須告知 Facebook 您的多個應用程式均由同一個商業實體擁有和營運。如要做到這一點,您需要使用 Facebook 企業管理平台執行以下動作:

用戶節點的 token_for_business 欄位

如果應用程式已連結至企業管理平台,您可以使用經受限登入或在首次登入應用程式實例時獲取的應用程式範圍編號,在 User 節點要求獲取 token_for_business 欄位。此呼叫將會為此用戶傳回一個字串,而且此用戶在同一個企業管理平台的所有應用程式中均會使用這個相同字串。

GET /me?fields=token_for_business

將會產生:

{
  "id": "1234567890"
  "token_for_business": "weg23ro87gfewblwjef"
}

使用注意事項:

  • 查詢的用戶對象必須已登入此應用程式。
  • 您可使用應用程式存取憑證或用戶存取憑證,以呼叫此欄位。如果使用用戶憑證,被查詢的用戶必須與系統所產生的憑證之接收用戶相同。
  • 如果是使用經受限登入獲取的應用程式範圍編號,則必須使用您應用程式的應用程式編號執行呼叫,因為您沒有可有效執行 Graph API 呼叫的用戶憑證。請注意,受限登入保護措施在此情景中不受支援。
  • 如果所屬企業有所變化,token_for_business 的值也會隨之改變。
  • 如果您要求 token_for_business 欄位,但應用程式尚未與企業管理平台建立關聯,呼叫便會傳回錯誤。
  • token_for_business 所傳回的值是憑證,而非編號,因此您無法直接在 Graph API 中以此存取用戶資訊。您仍需將編號儲存於您的數據庫中,並使用它向 Graph API 執行呼叫,以獲取該用戶的相關資訊。

為了方便起見,您可在所有 API 版本中使用 token_for_business 欄位

全螢幕展示廣告 signed_request 物件的 token_for_business 屬性

如要簡單地將擁有全螢幕展示廣告的應用程式與某個用戶跨應用程式配對,而應用程式已與企業管理平台建立連繫,且用戶已登入應用程式,則系統會加入 token_for_business 欄位,並在載入時透過傳遞至全螢幕展示廣告應用程式的 signed_request,將之傳遞至應用程式。例如:

{
  "algorithm": "HMAC-SHA256",
  "expires": 1414263600,
  "issued_at": 1414257389,
  "oauth_token": "CAAGEkq9GMZAkBAFnvvQ3M6msZBKITLa1gVZBVdnLTdJue2QeV6fMKRXn4G6fcEZB5ZAJyg3z6HdaKOJCCMJ1l9YFWmN4hq6nNnx77f9O7SYhsnPcJ6iH79xjFwqhrALgieDp7GiziMy5Y3Mol6RzHvCM5ceqQe9ZAijvrWZB5hEIwphbMQKEwZA4ZBozXP3NJgEZA3nZCMTTtvleWpxfmqIqO5XwxneCZBsZC4",
  "token_for_business": "AbwoGqummPbF3zp_",
  "user_id": "10154418713995634"
}

token_for_business 欄位的值與在 User 節點直接查詢(如透過 /me?fields=token_for_business)所得的結果相同。此值亦會遵守相同的規則,亦即是說,如果所屬企業有所變化,token_for_business 的值也會隨之改變。

如果應用程式尚未與企業管理平台建立關聯,或者用戶尚未登入應用程式,則 token_for_business 屬性不會顯示在 signed_request 物件中。

用戶節點的 ids_for_business 關係連線

呼叫 User 節點的 ids_for_business 關係連線,以配對企業編號。您所收到的回應將會是物件陣列,每個代表著已與呼叫應用程式關聯至相同企業,且用戶已登入的應用程式。

GET /me/ids_for_business

回應範例:

{
  "data": [
    {
      "id": "10153949089790582", 
      "app": {
        "name": "Business's App 1", 
        "namespace": "business_app_1", 
        "id": "647733625268125"
      }
    }, 
    {
      "id": "605665581", 
      "app": {
        "name": "Business's App 2", 
        "namespace": "business_app_2", 
        "id": "370612223054807"
      }
    }, 
    {
      "id": "10154053730190582", 
      "app": {
        "name": "Business's App 3", 
        "namespace": "business_app_3", 
        "id": "194890427204075"
      }
    }
  ]
}

若是由 API 傳回的數據,用戶必須已登入與您執行 API 呼叫的應用程式關聯至相同企業的一個或多個應用程式。例如:如果連繫至相同企業的應用程式共有 5 個,而用戶已登入至其中 3 個應用程式,則 API 將傳回 3 個物件。

常見問題

我是否一定要使用企業配對 API?

不需要。企業配對 API 僅對營運多個 Facebook 應用程式的企業,以及需要配對多個應用程式用戶編號的企業有用。如果您只有一個主要應用程式,則您一般無需使用企業配對 API,亦無需設定企業或將應用程式連繫至企業。

什麼是企業管理平台?

企業管理平台可以協助企業及代理商一站式管理其 Facebook 專頁、廣告帳戶、應用程式和付款方式。進一步了解企業管理平台

我不需要使用企業配對 API,那麼我是否需要將應用程式連繫至企業?

如果您無需使用企業配對 API,我們建議您暫時不要設定企業。由於企業必須連繫至您企業的主要 Facebook 專頁,在 Facebook 設定企業的最佳人選是您公司負責管理 Facebook 廣告帳戶和專頁權限的人員。如果您已經在企業管理平台中設定了企業,則您可以將應用程式連繫至該企業。

我能否將我的應用程式連繫至多間企業?

不能。一個應用程式只能同時連繫至一間企業。

我能否將應用程式轉移至另一間企業?

能。首先,您必須為其移除與原有企業所建立的連繫。您可以在企業管理平台中完成此動作。只需前往企業管理平台設定中的應用程式分頁,選擇相關應用程式,然後點擊「移除」即可。之後,您便可以將應用程式連繫至新企業。