本指南說明應用程式如何授權對 User Deletion API 的要求。
授權要求
使用者必須先登入 Google 帳戶,才能在 Google Analytics 網站上查看帳戶資訊。同樣地,使用者首次存取應用程式時,必須授權應用程式存取自己的資料。
您的應用程式傳送給 Analytics API 的每項要求,都必須包含授權權杖;這個權杖也可讓 Google 識別您的應用程式。
關於授權通訊協定
您的應用程式必須使用 OAuth 2.0 對要求進行授權,系統不支援其他授權通訊協定。如果您的應用程式採用使用 Google 帳戶登入功能,系統會為您處理部分授權事項。
使用 OAuth 2.0 對要求進行授權
所有傳送至 Analytics API 的要求都必須由經過驗證的使用者進行授權。
OAuth 2.0 授權程序 (或「流程」) 的細節會根據您編寫的應用程式類型而有所不同。下列一般程序適用於所有應用程式類型:
- 建立應用程式後,請透過 Google API 控制台註冊應用程式。接著 Google 會向您提供稍後需要的資訊,例如用戶端 ID 和用戶端密碼。
- 在 Google API 控制台中啟用 Analytics API (如果 API 控制台裡沒有列出該 API,則可略過這個步驟)。
- 當應用程式需要存取使用者資料時,會向 Google 要求特定的存取範圍。
- Google 會向使用者顯示同意畫面,請對方授權您的應用程式要求部分資料。
- 如果使用者同意,Google 即會授予短期存取權杖給您的應用程式。
- 您的應用程式向使用者要求資料,並且在要求中附上存取權杖。
- 如果 Google 判定您的要求與權杖有效,便會傳回您要求的資料。
部分流程包含額外步驟,例如使用「更新權杖」來取得新的存取權杖。如要進一步瞭解各類應用程式的流程,請參閱 Google 的 OAuth 2.0 說明文件。
以下是 Analytics API 的 OAuth 2.0 範圍資訊:
| 範圍 | 意義 |
|---|---|
https://www.googleapis.com/auth/analytics.user.deletion |
使用 User Deletion API 刪除資料。 |
如要透過 OAuth 2.0 要求存取權,您的應用程式需要範圍資訊,以及 Google 在您註冊應用程式時提供的資訊 (例如用戶端 ID 和用戶端密碼)。
提示:Google API 用戶端程式庫可以為您處理部分授權程序,且適用於多種程式設計語言;詳情請參閱程式庫和範例頁面。
常見的 OAuth 2.0 流程
以下列出特定 OAuth 2.0 流程的常見用途:
網頁伺服器
這個流程適合自動、離線或排定時間存取使用者的 Google Analytics 資料。
範例:
- 自動更新使用者資訊主頁,顯示最新的 Google Analytics 資料。
用戶端
如果使用者直接與應用程式互動,在瀏覽器中存取 Google Analytics 資料,這個流程就非常適合應用程式。這項功能不需要伺服器端功能,但會導致自動、離線或定期報表無法實際運作。
範例:
- 以瀏覽器為基礎的報表工具,例如 Analytics 查詢探索器。
已安裝的應用程式
這個流程適用於以套件形式發布,並由使用者安裝的應用程式。應用程式或使用者必須有瀏覽器存取權,才能完成驗證流程。
範例:
- PC 或 Mac 的桌面小工具。
- 內容管理系統的外掛程式:相較於網頁伺服器或用戶端,這個流程的優點是應用程式可以使用單一 API 控制台專案。這樣一來,使用者就能取得整合式報表,安裝程序也會更簡單。
服務帳戶
服務帳戶可自動、離線或排定時間存取您帳戶的 Google Analytics 資料,非常實用。舉例來說,您可以建立自己的 Google Analytics 資料即時資訊主頁,並與其他使用者共用。
如要開始使用 Analytics API,請使用設定工具;這項工具會逐步引導您在 Google API 控制台中建立專案,並啟用 API。
如要設定新的服務帳戶,請按照下列步驟操作:
- 依序按一下 [Create credentials] (建立憑證) > [Service account key] (服務帳戶金鑰)。
- 選擇要將服務帳戶的公開/私密金鑰下載為標準 P12 檔案,還是可由 Google API 用戶端程式庫載入的 JSON 檔案。
接著,系統就會為您產生新的公開/私密金鑰,並下載至您的電腦中;這是金鑰的唯一副本,您必須負責妥善保管。
疑難排解
在下列情況下,授權會失敗:
如果
access_token已過期,或您為 API 使用了錯誤的範圍,就會收到401狀態碼。如果授權使用者無法存取檢視畫面 (設定檔),您會收到
403狀態碼。請確認您已使用正確的使用者授權,且該使用者確實擁有您選取的檢視 (商家檔案)。
OAuth 2.0 Playground
這項工具可讓您透過網頁介面完成整個授權流程。這項工具也會顯示進行授權查詢所需的所有 HTTP 要求標頭。如果無法在自己的應用程式中取得授權,請嘗試透過 OAuth 2.0 Playground 取得授權。接著,您就可以比較 Playground 中的 HTTP 標頭和要求,以及應用程式傳送至 Google Analytics 的內容。這項檢查可確保要求格式正確。
授權無效
嘗試使用重新整理權杖時,系統會傳回以下 invalid_grant 錯誤:
- 伺服器的時鐘未與網路時間通訊協定 (NTP) 同步。
- 已超過更新權杖上限。
應用程式可以要求多個重新整理權杖,存取單一 Google Analytics 帳戶。
舉例來說,如果使用者想在多部電腦上安裝應用程式,並存取同一個 Google Analytics 帳戶,則每部電腦都需要個別權杖。如果重新整理權杖數量超過上限,較舊的權杖就會失效。如果應用程式嘗試使用失效的重新整理權杖,系統會傳回 invalid_grant 錯誤回應。
每個不重複的 OAuth 2.0 用戶端和 Google Analytics 帳戶組合,最多可有 25 個更新權杖。如果應用程式持續為同一組用戶端/帳戶要求重新整理權杖,系統核發第 26 個權杖後,先前核發的第 1 個重新整理權杖就會失效。第 27 個要求更新的權杖會使先前核發的第 2 個權杖失效,依此類推。