對應應用程式與粉絲專頁的用戶

若想讓應用程式的測試、開發、上線或品管版本共用同一個範圍用戶編號,請使用測試版應用程式

Facebook 會核發應用程式範圍用戶編號給第一次登入應用程式執行個體和使用限制登入的用戶;若是第一次使用 Messenger Bot 的用戶,則 Facebook 會核發粉絲專頁範圍用戶編號。也就是說,同一位用戶可能需持不同的編號使用這些應用程式及 Bot。

舉例來說,為了支援交叉促銷活動或詐騙偵測等情形,一家企業可能會同時經營數個 Facebook 應用程式或 Bot(這種情形在遊戲公司尤其常見);而運用 Bot 與用戶溝通的情況也是如此。在這種情況下,您可能需要對應同一位用戶在不同應用程式及 Bot 所用的編號。

您可以透過三種方式對應使用多種應用程式的同一位用戶:

您必須先讓 Facebook 知道您的應用程式是由同一個企業事業體所擁有和經營,才能使用其中任何一項機制。為此,您需使用 Facebook 企業管理平台進行以下操作:

User 節點中的 token_for_business 欄位

為應用程式與企業管理平台建立關聯後,即可採用透過限制登入或首次登入應用程式執行個體時取得的應用程式範圍編號,要求 User 節點的 token_for_business 欄位。這項呼叫會傳回一個字串,只要該名用戶使用同一個企業管理平台所管理的應用程式,這個字串一律相同。

GET /me?fields=token_for_business

結果如下所示:

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

使用注意事項:

  • 所查詢的用戶必須已登入這個應用程式。
  • 您可以使用應用程式存取權杖或用戶存取權杖呼叫此欄位。若使用用戶權杖,您所查詢的用戶必須是當初產生該權杖時的目標對象。
  • 如果您用的是透過限制登入取得的應用程式範圍編號,必須使用應用程式的應用程式編號進行呼叫,因為您沒有適用於圖形 API 呼叫的用戶權杖。請注意,這種情況下並不支援限制登入防護機制。
  • 如果掌握擁有權的企業有異動,會連帶變更 token_for_business 的值。
  • 若您要求 token_for_business 欄位,但應用程式與企業管理平台之間並無關聯,呼叫會傳回錯誤。
  • token_for_business 傳回的值是權杖,不是編號,無法直接用於圖形 API 存取個人資訊。您仍應將編號儲存在資料庫中,再使用這個編號以呼叫圖形 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 的值。

若應用程式與企業管理平台之間沒有任何關聯,或者用戶尚未登入應用程式,則 signed_request 物件不會出現 token_for_business 屬性。

User 節點中的 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 嗎?

不需要。只有經營多個 Facebook 應用程式的企業,以及需要在不同應用程式之間對應同一個用戶編號,才需使用企業對應 API。若您有一個主要應用程式,就不會使用企業對應 API,因此不需要設定企業帳號,也不需要為應用程式與企業建立關聯。

企業管理平台是什麼?

企業管理平台能夠協助企業和代理商集中管理粉絲專頁、廣告帳號、應用程式以及付款方式。深入瞭解企業管理平台

我認為我不需要使用企業對應 API,但我是否應該為應用程式與企業建立關聯?

若您不需要使用企業對應 API,則不建議您在此時設定企業帳號。由於企業帳號需要與貴公司的主要 Facebook 粉絲專頁連結,經常為貴公司管理 Facebook 廣告帳號及粉絲專頁權限的人,才是最適合設定 Facebook 企業帳號的用戶。若已經在企業管理平台中設定您的企業,則您可以為任何應用程式與該企業建立關聯。

我可以為我的應用程式與多個企業建立關聯嗎?

不可以。目前,一個應用程式只能與一個企業建立關聯。

我可以將應用程式轉移給另一個企業嗎?

可以。您必須先將該應用程式自目前具有關聯的企業移除。您可以在企業管理平台中進行此步驟。進入企業設定中的「應用程式」頁籤,選擇該應用程式後點擊「移除」即可。接著您可以為此應用程式與新的企業建立關聯。