簡介:使用 Data Portability API 開發應用程式

您可以使用 Data Portability API 建構應用程式,要求使用者授權,將 Google 服務中的資料副本移至您的應用程式。這可讓資料可攜,並方便切換服務。

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

必要條件

應用程式必須先獲得 Google 核准,才能發布。

您也應確認 Data Portability API 是否可供您所在地區的使用者使用。如需支援國家/地區清單,請參閱「與第三方分享資料副本」頁面中的「常見問題」

開發人員工作流程

以下是建立使用資料可攜權 API 的應用程式所需的步驟。

開發人員使用資料可攜權 API 建立應用程式的步驟

  1. 為使用者實作 OAuth 同意聲明流程。在這個範例中,使用者提供 YouTube 影片資料的存取權。

    1. 使用者點選「匯入 YouTube 影片」,然後登入 Google 帳戶。

    2. 應用程式會將使用者轉送至 OAuth 同意聲明網址。請注意,這個範例網址已簡化,缺少部分參數:

      https://accounts.google.com/o/oauth2/v2/auth?scope=https://www.googleapis.com/auth/dataportability.myactivity.youtube

    3. 使用者在 OAuth 同意畫面中按一下「Next」,同意分享自己的資料,並提供帳戶存取權。

    4. 使用者選取要共用的資料,以及應用程式可存取該資料的時間長度 (一次性存取資料或時間限制存取 30 或 180 天),然後按一下「繼續」

      注意:在 OAuth 權杖到期前 90 天內,使用者可以選擇在 OAuth 權杖到期前,更新您對其資料的存取權。如果使用者沒有在 90 天內到期的權限,系統就不會顯示續約按鈕。

    5. 使用者會重新導向至應用程式。

    6. 開發人員為使用者取得 OAuth 權杖。

  2. 您的應用程式會使用附加的 OAuth 權杖呼叫 InitiatePortabilityArchive(resources = ["myactivity.youtube"]),該權杖包含以下 OAuth 範圍:

    https://www.googleapis.com/auth/dataportability.myactivity.youtube

    這個呼叫會啟動建立資料封存檔的程序,並傳回工作 ID 和使用者是否授予一次性或時間限制存取權。

    注意:一次性存取權代表每個範圍可執行一次匯出作業。如果使用者授予多個範圍,您可以為每個由權杖授權的資源分別建立工作。

  3. 您的應用程式會使用附加的 OAuth 權杖呼叫 GetPortabilityArchiveState(job_id),該權杖包含以下 OAuth 範圍:

    https://www.googleapis.com/auth/dataportability.myactivity.youtube

    您可以多次呼叫這個方法,擷取封存工作狀態。這個方法會傳回工作的狀態。如果狀態為 COMPLETE,表示封存檔案已準備就緒,並提供已簽署的 Cloud Storage 網址。請注意,完成封存要求所需的時間可能從數分鐘到數小時不等,視資料大小而定。

  4. 使用已簽署的網址下載資料封存檔。

  5. 如果使用者授予一次性存取權,您可以使用附加的 OAuth 權杖呼叫 ResetAuthorization(),藉此重設用盡的資源,並移除所有 OAuth 同意聲明。

  6. 如果使用者授予時間限制存取權,您可以在同意聲明到期前,每隔 24 小時匯出資源。

如要進一步瞭解如何使用 Data Portability API 方法,請參閱「呼叫 Data Portability API 方法」。

使用者如何與 Data Portability API 應用程式互動

此圖表顯示使用者如何與已整合資料可攜權 API 的應用程式互動。

使用者匯出資料的步驟

  1. 首先,系統會向使用者顯示資料擷取選項。

  2. 接著,使用者登入 Google 帳戶。

  3. 接著,系統會提示使用者分享資料,他們點選「下一步」,然後系統會提示使用者接受隱私權政策,他們點選「我瞭解」

  4. 接著,系統會向使用者顯示 OAuth 同意畫面,讓使用者授權應用程式存取其資料。這裡的選項會與您設定的 OAuth 範圍相符。使用者選取要分享的資料,以及應用程式可存取該資料的時間長度 (一次性存取資料或時間限制存取 30 或 180 天),然後按一下「繼續」

  5. 授予存取權後,系統就會開始匯入資料。視資料大小而定,要求可能需要數分鐘到數小時才能完成。