商家專用 Facebook 登入

對於需要獲取企業客戶資產存取權限的技術供應商和商業應用程式開發人員來說,商家專用 Facebook 登入是執行驗證和授權的首選解決方案,適合用來替代 Facebook 登入。如果您並非技術供應商,或者您不是在為其他企業建構商業應用程式,請改用 Facebook 登入作為您的驗證解決方案。

好處

與 Facebook 登入相比,商家專用 Facebook 登入讓您能夠指定應用程式所需的存取憑證類型、資產類型和權限,並以組合(設定)形式儲存。然後,您可以向企業客戶展示該組合,以便對方完成流程並向您的應用程式授予其商家資產的存取權限。此方案不再允許企業授權您存取通常對商業應用程式無關緊要的部分資訊類別,但允許您視乎應用程式需要選擇不同的存取憑證。

大多數可以存取用戶資料的應用程式必須通過持續進行的審查。不過,如果該應用程式只需商業權限/功能,您可能符合資格安裝商家專用 Facebook 登入,以減少應用程式的規定來通過持續進行的審查。

支援的權限

您可以向企業客戶要求獲取以下權限。請注意,與 Facebook 登入不同,商家專用 Facebook 登入要求您的企業客戶授予您在設定中指定的所有權限

所有應用程式都會自動獲得存取 emailpublic_profile 的權限。不過,這兩個權限必須與每次應用程式安裝中的至少一項其他受支援權限一起使用。

系統會將 public_profile 權限自動授予所有應用程式,但不會在 scope 參數中傳回有關權限資料,除非應用程式用戶已授予至少一種其他支援的權限(email 除外)。

可用權限用戶存取憑證企業整合系統用戶存取憑證

ads_management

ads_read

business_management

catalog_management

commerce_account_manage_orders

commerce_account_read_orders

commerce_account_read_reports

commerce_account_read_settings

commerce_manage_accounts

email *

不適用

instagram_basic

instagram_content_publish

instagram_manage_comments

instagram_manage_insights

instagram_manage_messages

instagram_shopping_tag_products

leads_retrieval

manage_fundraisers

pages_manage_cta

page_events

pages_manage_ads

pages_manage_engagement

pages_manage_instant_articles

pages_manage_metadata

pages_manage_posts

pages_messaging

pages_read_engagement

pages_read_user_content

pages_show_list

private_computation_access

public_profile *

不適用

publish_video

read_insights

read_audience_network_insights

whatsapp_business_management

whatsapp_business_messaging

支援的存取憑證

您可以使用商家專用 Facebook 登入,獲取企業整合系統用戶存取憑證或用戶存取憑證。請注意,在轉用商家專用 Facebook 登入後,您目前的存取憑證將不受影響。

企業整合系統用戶存取憑證

如果您的應用程式在企業客戶的廣告物件或專頁上執行程序化的自動操作,而不必依賴應用程式用戶的輸入或無需在日後重新驗證,則應使用由商家專用 Facebook 登入產生的企業整合系統用戶存取憑證。例如:

  • 每小時自動呼叫伺服器對伺服器轉換 API。
  • 以專頁身分傳送自動回覆。
  • 持續自動更新商品目錄庫存。
  • 自動檢索廣告洞察報告。

如需從企業客戶取得企業整合系統的用戶存取憑證,您必須符合下列條件:

  • 您的應用程式不能要求從流動裝置系統登入,例如 Android、iOS 等。
  • 完成商家專用 Facebook 登入流程的企業客戶必須擁有或願意建立一個 Meta 商業帳戶
  • 您的應用程式必須與您擁有完整控制權的 Meta 商業帳戶連結。連結需獨立於由企業客戶擁有的 Meta 商業帳戶
  • 終端用戶安裝好應用程式後,系統便會建立/更新企業整合工具系統用戶存取憑證,並向您傳送此憑證

如要測試企業整合系統的用戶存取憑證流程,測試人員必須擁有應用程式角色。

常規系統用戶企業整合系統用戶

代表

代表伺服器或軟件,向您的企業管理平台擁有或管理的資產執行 API 呼叫。

技術供應商基礎架構的一部分,由客戶企業透過技術供應商的應用程式安裝啟動。

存取權限

只能由同一企業的商業用戶存取。

只能由技術供應商存取。

將憑證設為無效

不適用。

您無法透過企業管理平台中的系統用戶分頁,將存取憑證設為無效。企業客戶必須改為前往企業管理平台 > 企業管理平台設定 > 整合工具>「連結的應用程式」分頁,並點擊「移除應用程式」按鈕以解除安裝應用程式,從而將憑證設為無效。

細項企業整合系統用戶存取憑證

部分技術供應商可能需要就不同用途或部門設定不同的存取權限,而不是只就每間客戶企業使用一個企業整合系統用戶存取憑證。這類機構一般為較大型的機構,其可以就每間客戶企業使用多個細項企業整合系統用戶存取憑證,以便提升營運的規模或帳戶安全。

  • 細項存取憑證仍然是專屬於客戶企業的業務,不能在不同客戶企業之間共用及存取。
  • 細項存取憑證的使用範圍和資產清單應為原本的企業整合系統用戶存取憑證之子集。
  • 如果憑證被盜用,只有該特定客戶企業會受到影響,並不會影響所有客戶企業的所有商業帳戶。這樣有助將潛在的帳戶安全事件分隔開來,防止風險擴大,而且可以將商業帳戶和/或客戶企業分離。

企業整合系統用戶存取憑證管理 API

此端點方便開發人員透過以下方式管理其現有系統用戶存取憑證:

  • 透過現有企業整合系統用戶存取憑證,產生更細項系統用戶存取憑證
  • 擷取現有企業整合系統用戶存取憑證(原有憑證及更細項的憑證)
參數:
物件說明

Client business id

整數

此為必要項目。

若最終用戶透過最後會產生系統用戶存取憑證的商家專用 Facebook 登入流程來安裝應用程式,此憑證便專屬於客戶所選的企業。Client business id 是其中一間此類企業的編號。

Appsecret_proof

字串

此為必要項目。

由於這是憑證管理 API,我們要求您提供存取憑證的 Appsecret_proof sha256 雜湊值,以進一步確保伺服器發出的呼叫安全無虞。請在此查看更多詳情。

Access_token

字串

此為必要項目。

Access_token 需要 manage_business 權限。

system_user_id

整數

此為選用項目。

system_user_id 為可以此存取憑證當中的系統用戶之編號。

fetch_only

布林值

此為選用項目。

fetch_only 是您想用於擷取現有憑證並指明此為唯讀操作的標示。

asset

整數

此為選用項目。

若您想要產生更細項的憑證,可以設定一個 asset 編號清單,並以逗號分隔。此資產清單必須是來自原本存取憑證的資產之子集。

scope

布林值

此為選用項目。

若您想要產生更細項的憑證,可以設定一個 scope 編號清單,並以逗號分隔。此資產清單必須是來自原本存取憑證的範圍之子集。

set_token_expires_in_60_days

布林值

此為選用項目。

如您想產生新的憑證,可以將其設為 60 天後過期。

要求範例
curl -i -X POST \ 
  'https://graph.intern.facebook.com/v17.0/2738613836382965/system_user_access_tokens?appsecret_proof=<app_secret_proof_sanitized>&
access_token=<access token sanitized>&   
system_user_id={system_user_id}&
fetch_only=true'
回應範例
{
  "access_token": "{access_token}" 
}

用戶存取憑證

如果您的應用程式是根據用戶輸入的內容即時採取動作,就應使用用戶存取憑證。例如,如果您的應用程式需要用戶輸入文字並點擊某個按鈕,才能將內容發佈到他們的專頁,就應使用用戶存取憑證。如果您要求的 API 需要用到 Meta 商業帳戶的管理權限,也應該使用用戶存取憑證。

比較

系統用戶存取憑證用戶存取憑證

帳戶關聯

與您企業客戶的商業帳戶(而非特定用戶)有所關聯。在您企業客戶的管理員群組中,任何管理員均可向您的應用程式授予系統用戶存取憑證。

與您應用程式用戶的個人帳戶有所關聯。

OAuth 授權類型

僅限授權碼

預設為隱含。主要用於用戶代理型的用戶端,例如網頁瀏覽器和流動應用程式。

過期和重新整理

如果是普通離線伺服器對伺服器通訊,預設為永不過期

如果是網頁瀏覽器等網上活動,則為短期憑證。

存取權限指定類別

授權時,存取權限為明確指定。您的應用程式只能存取由企業客戶在完成商家專用 Facebook 登入流程時指定的資產。

存取權限是從您應用程式用戶的目前帳戶存取權限繼承而來;您可以存取該應用程式用戶目前能夠存取的相同商家資產。

由客戶將存取憑證設為無效

您的企業客戶可以將企業整合系統用戶存取憑證設為無效,方法是前往企業管理平台 > 設定 > 企業管理平台設定 > 整合 > 連結的應用程式,然後移除您的應用程式。

如要將用戶存取憑證設為無效,您的企業客戶可以移除應用程式,方法是在 Facebook 上前往設定和私隱 > 設定 > 帳戶安全和登入 > 企業整合工具,然後移除您的應用程式。

應用程式安裝程式/登入流程體驗

用戶存取憑證登入流程企業整合用戶存取憑證登入流程
發生錯誤
播放此影片時發生問題。
發生錯誤
播放此影片時發生問題。

新手指南

如要測試商家專用 Facebook 登入,您需要建立一個商業類型的測試版應用程式,當中應已自動安裝商家專用 Facebook 登入程序。

建立設定

設定集合了您的應用程式需要透過企業客戶獲取的憑證類型、商家資產和權限。當用戶安裝您的應用程式時,會在驗證和授權流程中看到此集合資料。您可以視乎自家應用程式的需求建立多個設定,並向不同用戶組別展示。如要建立設定,請完成以下操作:

  1. 應用程式管理中心 載入您的應用程式
  2. 新增商家專用 Facebook 登入產品
  3. 點擊配置
  4. 點擊 + 建立設定
  5. 為設定命名
  6. 選擇您想向企業客戶要求獲得的存取憑證類型
  7. 如果您選擇系統用戶存取憑證,接著請選擇應用程式需要存取的資產
  8. 選擇應用程式需要的權限
  9. 點擊建立

建立設定後,系統會產生一個設定編號,您可將其與我們的 SDK 配合使用,也可以手動使用。

企業整合系統用戶存取憑證的應用程式管理中心設定:

發生錯誤
播放此影片時發生問題。

建立 WhatsApp 內嵌註冊設定

WhatsApp 內嵌註冊功能僅供商業解決方案供應商(BSP)獨家存取。

  1. 應用程式管理中心 載入您的應用程式
  2. 新增商家專用 Facebook 登入產品
  3. 點擊配置
  4. 點擊 + 建立設定
  5. 為配置命名
  6. 選擇 WhatsApp 內嵌註冊,以便為應用程式啟用 WhatsApp 內嵌註冊功能。在 WhatsApp 內嵌註冊,您只可使用系統用戶存取憑證
  7. 選擇憑證過期時間。我們推薦選擇 60 天。這有助將憑證洩漏風險降至最低,加強系統安全。
  8. 選擇應用程式需要存取的資產。只有當您在上一步中選擇了「系統用戶存取憑證」時,此步驟才會適用,而且您無法取消選擇 WhatsApp 帳戶
  9. 為應用程式選擇以下權限:whatsapp_business_managementwhatsapp_business_messaging
  10. 點擊建立

建立 Instagram 設定

此流程是專門為使用 Instagram Graph API 而優化。

  1. 應用程式管理中心 載入您的應用程式
  2. 新增商家專用 Facebook 登入產品
  3. 點擊配置
  4. 點擊 + 建立設定
  5. 為配置命名
  6. 選擇 Instagram Graph API,以便為應用程式啟用 [Instagram 專屬登入流程] (https://developers.facebook.com/docs/instagram/business-login-for-instagram/)。只能使用用戶存取憑證
  7. 為您的應用程式選擇以下權限
  8. 點擊建立

觸發登入對話框

如需觸發商家專用 Facebook 登入對話框,您可以使用我們的 SDK 或者手動構建登入流程。

使用我們的 SDK 來觸發

您可以使用我們任何 SDK 來觸發登入對話框,方法是用您的設定編號和存取憑證所需的 OAuth 授權類型,替換應用程式所需的範圍(權限)清單。

如果不熟悉我們的 SDK,建議先安裝 JavaScript SDK,讓其與消費者版 Facebook 登入產品一起運行然後再繼續,如以下引用了 SDK 的範例所示。

企業整合系統用戶存取憑證設定

以下是 JavaScript SDK FB.login() 方法的範例,當中已改為使用系統用戶存取憑證的設定。請注意,由於 SUAT 要求的授權類型為授權碼,config_id 已取代 scope(不應使用後者),而且 auth_type 已設定為 codeoverride_default_response_type 亦必須設為 true。為 true 時,任何通過 response_type 的回覆類型將具有高於預設類型的優先次序。

FB.login(
  function(response) [
    console.log(response);
  ],
  [
    config_id: '<CONFIG_ID>',
    response_type: 'code',
    override_default_response_type: true
  ]
);

當用戶完成登入對話框流程時,我們會將他們重新導向您的重新導向網址,並加入一個程式碼。然後,您必須對我們的伺服器執行伺服器對伺服器呼叫,以將此代碼轉換為存取憑證。

GET https://graph.facebook.com/v19.0/oauth/access_token?
  client_id=<APP_ID>
  &client_secret=<APP_SECRET>
  &code=<CODE>

有關此步驟的詳情,請參閱將代碼轉換為存取憑證

用戶存取憑證設定

以下是 JavaScript SDK FB.login() 方法的範例,已改用用戶存取憑證的設定。請注意,config_id 已取代 scope(儘管 scope 仍可以包含在內,但不建議使用)。

FB.login(
  function(response) {
    console.log(response);
  },
  {
    config_id: '<CONFIG_ID>' // configuration ID goes here
  }
);

以下是 JavaScript SDK login 按鈕的範例,已改用用戶存取憑證的設定:

<fb:login-button config_id="<CONFIG_ID>" onlogin="checkLoginState();"></fb:login-button>

手動觸發

如需了解手動觸發登入對話框的方式,請參閱手動構建登入流程觸發登入對話框並設定重新導向網址時,請加入您的設定編號以作為選用參數(儘管 scope 仍可以包含在內,但不建議使用)。

config_id=<CONFIG_ID>

選擇使用商家專用 Facebook 登入

我們建議您進行測試,並在切換至商家專用 Facebook 登入前了解可能遇到的問題

商家專用 Facebook 登入適用於全新建立的商業類型應用程式。現有符合資格商業類型應用程式「無」類型的應用程式已獲自動切換至商家專用 Facebook 登入,也可以自行選擇啟用。

如果您的應用程式合資格切換至商家專用 Facebook 登入,您應該會在完成以下步驟之後看到選用產品的橫額:

  1. 前往您應用程式的應用程式管理中心
  2. 前往或新增 Facebook 登入產品
  3. 點擊「設定」分頁或「快速入門」分頁

如要切換至商家專用 Facebook 登入,您需要點擊橫額中的「選擇使用」按鈕。與此應用程式連結的測試版應用程式亦將自動選擇使用此功能。

切換後,您的應用程式類型將為商業類型。如果您的應用程式未能按照預期運作,我們允許每個應用程式在轉用商家專用 Facebook 登入後的 30 天內回復至 Facebook 登入,並且最多可以回復 3 次。請注意,如果商家專用 Facebook 登入的登入對話框是透過設定編號觸發,而您決定回復至 Facebook 登入,登入對話框便可能無法載入,這是因為 Facebook 登入不支援「config_id」參數,您需要將「config_id」參數換成「scope」參數。

疑難排解

應用程式安裝程式可能會由於以下原因出現錯誤訊息:

  • 設定編號無效
  • 流動裝置目前不支援系統用戶存取憑證
  • 用了錯誤的 response_type 設定系統用戶存取憑證

可能帶來重大影響的變動:

  • 如果您的應用程式類型目前為「無」,轉用商家專用 Facebook 登入將會導致您的應用程式類型變更為「商業」類型,並且只能使用此登入產品提供的權限功能產品
  • 如果您的現有應用程式安裝程式只有 email 或 public_profile 權限,轉用商家專用 Facebook 登入將導致所有此類之前安裝的憑證失效。
  • 如果您的現有應用程式安裝程式可以使用商家專用 Facebook 登入所不支援的權限/功能,這些權限/功能將在應用程式專用商家專用 Facebook 登入後立即撤銷
  • 如果您的應用程式同時使用商家專用 Facebook 登入和 Meta Business 擴充功能產品,您只能享用商家專用 Facebook 登入所支援的 Meta Business 擴充功能。

轉用 Facebook 登入

如果您的應用程式在轉用商家專用 Facebook 登入後未能如預期運作,您可以解除安裝此產品,方法是前往應用程式管理中心 > 商家專用 Facebook 登入 > 設定,然後點擊切換成 Facebook 登入連結來回復至 Facebook 登入。您會看到一份問卷調查,該問卷調查有助我們改善商家專用 Facebook 登入設定體驗。我們允許每個應用程式在轉用商家專用 Facebook 登入後的 30 天內回復至 Facebook 登入,並且最多可以回復 3 次

常見問題

為什麼我的應用程式不符合資格使用商家專用 Facebook 登入?

商家專用 Facebook 登入僅支援特定權限和功能。如果應用程式要求的權限和功能不受商家專用 Facebook 登入支援,便不符合資格。請注意,emailpublic_profile 權限必須與至少一項其他受支援權限一併要求。

我可以執行哪些步驟,使應用程式符合選擇使用資格?

如果您的應用程式不符合選擇使用資格,您可以建立新的商業類型應用程式;在此應用程式中,商家專用 Facebook 登入會自動供您使用,並可透過應用程式審查來要求支援的商業權限。

執行商家專用 Facebook 登入時,我需要要求哪些權限?

只需要求應用程式功能運作所需的最少權限。公開透明地向用戶說明需要各個權限和功能的原因。請注意,emailpublic_profile 權限必須與每次應用程式安裝中的至少一項其他受支援權限一併要求。您可以建立配置以查看受支援的權限,並為更多自訂啟用建立權限要求組合。