為應用程式設定 OAuth

如要為應用程式設定 OAuth,您必須設定 OAuth 工作流程,並啟用 Data Portability API OAuth 範圍。

設定 OAuth 工作流程

如要為應用程式設定 OAuth 流程,請按照 Google Identity 說明文件中的基本步驟操作。

大多數開發人員會使用伺服器端網頁應用程式流程取得 OAuth 同意聲明,但您也可以使用 JavaScript 網頁應用程式流程行動和電腦版應用程式流程

資料可攜權 API OAuth 範圍

為 Data Portability API 應用程式設定 OAuth 時,請啟用與應用程式相關的 Data Portability API OAuth 範圍。部分範圍是 sensitiverestricted,須遵守其他規定。

將資料可攜權 API 範圍新增至 OAuth 流程時,使用者可能會同意部分範圍,但不同意所有範圍。您的應用程式必須能夠處理這些情況,方法如下:

  • 允許匯出部分資料
  • 通知使用者未選取所有必要的權限範圍 (並以優雅的方式失敗)
  • 向使用者要求其餘同意聲明

請注意,使用者同意聲明只允許您針對該項特定同意聲明匯出一次資料。如要再次下載資料,您必須取得使用者的新同意聲明。

您也應注意,在 OAuth 流程中,應用程式不會知道哪個 Google 帳戶用於提供同意聲明。應用程式收到的 OAuth 權杖是不可讀取的。

如要瞭解使用者如何分享資料,請參閱「與第三方分享資料副本」。

範圍限制

本節將說明會導致錯誤的範圍限制。

混合範圍

請勿將 Data Portability API 範圍 (例如 https://www.googleapis.com/auth/dataportability.*) 與其他範圍 (例如 https://www.googleapis.com/auth/userinfo.email) 混用。以下是錯誤要求的範例,其中受限制的部分已加粗顯示:

https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id&
redirect_uri=redirect_uri&
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search+https://www.googleapis.com/auth/userinfo.email&
include_granted_scopes=false

先前授予的權限

請勿在要求 DPAPI 範圍時設定 include_granted_scopes=true。以下是錯誤要求的範例,其中受限制的部分已加粗顯示:

https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id&
redirect_uri=redirect_uri&
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search&
include_granted_scopes=true

範圍類別

如需 Data Portability API 支援的所有 OAuth 範圍清單及其類別,請參閱「可用的 OAuth 範圍」。如需特定服務支援的所有資源群組和 OAuth 範圍清單,請參閱該服務的結構定義參考資料頁面