Facebook 登入與 Audience Network 分析報告 API V2 整合

Facebook 登入是授予 Audience Network 分析報告 API 資料存取權限的全新方式,將會取代先前營利管理工具介面中的複製貼上式系統用戶憑證。由於營利管理工具憑證存在外洩風險,透過此方式授予資料存取權限的做法更加安全。

本文件旨在為以發佈商身分存取分析報告 API 資料的流動衡量合作夥伴、中介服務合作夥伴及其他 Facebook 合作夥伴提供有關直接分析報告 API 整合指導。

我目前透過第三方獲取分析報告 API 資料

如果您目前是透過現有合作夥伴(流動成效衡量合作夥伴或中介服務合作夥伴)獲取資料,便無需額外編寫程式碼。確保您的合作夥伴已整合 Facebook 登入流程。您必須點擊「使用 Facebook 登入」選項,然後選擇要使用建立的憑證向哪些屬性授予存取權。

如果您選擇所有屬性,只要建立憑證的用戶有權存取企業管理平台中的屬性,該憑證就會提供對企業下所有屬性的存取權。

權限

如果您需要直接使用分析報告 API,則首先需要建立一個 Facebook 應用程式並獲得必要的權限。您的應用程式需要取得 read_audience_network_insights 權限,才能存取 Audience Network 分析報告 API 資料。如要為應用程式取得此權限,企業需要加入 Audience Network

  • 在商業帳戶欄位中選擇您新建立的企業

建立應用程式後,您需要選擇「Audience Network」,然後點擊「設定按鈕」,將應用程式與營利管理工具帳戶連結。您需要選擇要連結的營利管理工具帳戶。

若要完成此操作,您還可前往 developers.facebook.com/apps,然後選擇您剛才建立的應用程式。

您的應用程式現已加入 Audience Network,可以使用 read_audience_network_insights 權限。若您看不到 read_audience_network_insights 權限,請確保您的應用程式有權存取您的營利管理工具帳戶。

如果您之前已透過 Facebook 登入獲得 read_insights permission,此權限仍然有效,但我們建議您改為使用 read_audience_network_insights 權限。

您存取分析報告 API 的方式將視乎您擁有的整合類型而異。請按照適用於您具體情況的指示操作:

不設用戶介面的直接 API 整合

如果您採用的自訂(直接)分析報告 API 整合工具不設任何前端/用戶介面,且您將其用於查詢自家企業的資料,便可按照以下指示獲取分析報告 API 的存取權。

透過 Graph API 測試工具建立用戶憑證

  1. 若您已在自家應用程式中採用「營銷 API」,請略過此步驟。否則,請根據 obtaining read_audience_network_insights permission 上的指示操作
  2. 前往 Graph API 測試工具
  3. 選擇您的應用程式
  4. 選擇「read_audience_network_insights」權限(可在權限 > 活動群組頁面下找到),然後點擊產生存取憑證
    1. 現在您可使用此憑證在短時間內存取 Audience Network 分析報告 API 資料,而無需使用來自營利管理工具的憑證
    2. 免責聲明:此憑證將在 2 小時後過期,您需要按照以下指示將其轉換為長效存取憑證。

將此憑證轉為長效存取憑證

  1. 前往存取憑證除錯工具
  2. 插入您的憑證,然後按下「除錯」
  3. 一直捲動至包含所有憑證資訊的表格底部,然後點擊「延長存取憑證」按鈕
  4. 複製系統產生的憑證

現在您可使用此憑證存取 Audience Network 分析報告 API 資料。

設有用戶介面的直接 API 整合

以下指南適用於可在自有用戶介面上放置 Facebook 登入按鈕的發佈商和合作夥伴。本指南也適用於有意存取自有資料的發佈商,以及希望在獲得其他發佈商權限的情況下存取發佈商營利資料的合作夥伴。

您還可以查看以下指南的端對端示範影片,包括上方的權限步驟:

發生錯誤
播放此影片時發生問題。
  • 在開發人員入口網站上,選擇您在之前的步驟中新建立的商業應用程式
  • 向此應用程式加入新的「Facebook 登入」產品
  • 選擇「網站」選項,按照整合步驟操作
  • 插入網站網址;此網站是您展示「Facebook 登入」體驗的位置。確保此網址支援 HTTPS 通訊協定
  • 在整合步驟結束時,您會獲得用於在網站上整合「Facebook 登入」的程式碼範例。您可以複製此程式碼,但請改為使用剛取得的「read_audience_network_insights」權限,而非建議的「public_profile,email」權限。使用已更新的權限後,您的按鈕程式碼應如下所示:
<fb:login-button 
  scope="read_audience_network_insights"
  onlogin="checkLoginState();">
</fb:login-button>
  • 確保在應用程式的產品設定頁面啟用「Facebook 登入」的 JavaScript SDK
  • 現在,用戶可以透過完成您網頁上的 Facebook 登入流程來產生存取憑證
  • 存取憑證會以上述步驟中傳遞至 statusChangeCallback JavaScript 方法的引數傳回。
  • 在預設情況下,此憑證將在約 2 個小時後過期
  • 開發人員無需與用戶進一步互動,即可申請將此憑證延長為長效存取憑證
    • 長效憑證會在向 Facebook 伺服器提交分析報告 API 要求時重新整理,頻率為每天一次。如果未有作出任何要求,憑證將在大約 60 天後過期,屆時用戶需要建立新憑證。
  • 請注意,可透過此憑證存取的資料很大程度上取決於使用此「Facebook 登入」流程傳遞資料的對象為何,以及他們同意分享哪些資料。因此,如果企業員工正在使用此流程傳遞資料,則系統產生的存取憑證會有與該員工相同的權限。

解決疑難

錯誤訊息問題說明行動/解決方案

所查閱的專頁、企業、應用程式、網域或事件來源群組之分析資料,並非由提出查詢的用戶或應用程式所有

對於 Facebook 登入憑證,這代表發出憑證的應用程式不具備足夠的權限(read_audience_network_insights),或者用戶自身不具備查看特定屬性的權限。可能原因:*產生憑證的用戶未獲授予存取企業管理平台的權限。*建立憑證的用戶未獲授權存取所有所查詢屬性。

商業帳戶管理員需要向想產生憑證或已產生憑證的用戶,授予所有相關屬性的存取權限。

缺少資料或資料為空白

這通常代表系統用了私隱彙整技術來篩選全部或部分資料。您也可與營利管理工具資料對比來確認這一點。

檢查 omitted_results 陣列是否存在。如果存在,表示資料有經過彙整,請嘗試提出更大的要求。詳情請參閱彙整部分。

無法就此憑證顯示 read_audience_network_insights

為產生憑證而建立的應用程式並非以「商業」應用程式類型來建立,而且已連結您的 Audience Network 營利管理工具。

確保您以「商業」應用程式類型來建立用以產生憑證的應用程式。嘗試建立新的應用程式,並確保按照「權限」部分中的指示操作。前往 developers.facebook.com/apps,選擇您發現沒有 read_audience_network_insights 權限的應用程式,然後選擇「Audience Network」並點擊「設定按鈕」。

Error validating access token: Session has expired on ...

憑證已過期

請確保已將憑證轉換為長效憑證。按照「將此憑證轉換為長效存取憑證」部分中的指示操作。在向 Facebook 伺服器發出分析報告 API 要求的情況下,長效憑證每天更新一次。如果未有作出任何要求,憑證將在大約 60 天後過期,屆時用戶需要建立新憑證。

正在顯示兩個同名應用程式

確認其中一個應用程式是否具有 read_audience_network_insights 權限

使用具有正確 read_audience_network_insights 權限的應用程式

(#200)存取分析報告 API v2.0 的方式經已變更。您現在需要為自家應用程式安裝 Facebook 登入功能,方可使用此 API。

您目前沒有以新方式使用憑證來存取此 API。

請務必從頭開始建立「商業」類型的新應用程式,而且僅將其用於產生憑證。