您可以使用 Data Portability API 建構應用程式,要求使用者授權將 Google 服務中的資料副本移至應用程式。這可讓資料可攜,並方便切換服務。
如要瞭解使用者如何分享資料,請參閱「與第三方分享資料副本」。
必要條件
應用程式必須先獲得 Google 核准,才能發布。
您也應確認 Data Portability API 可供您所在地區的使用者使用。如需支援國家/地區清單,請參閱「與第三方分享資料副本」頁面中的常見問題。
開發人員工作流程
以下是建立使用資料可攜權 API 的應用程式所需的步驟。
為使用者實作 OAuth 同意聲明流程。在這個範例中,使用者提供 YouTube 影片資料的存取權。
使用者點選「Import YouTube Videos」,然後登入 Google 帳戶。
應用程式會將使用者轉送至 OAuth 同意聲明網址。請注意,這個範例網址已簡化,缺少部分參數:
https://accounts.google.com/o/oauth2/v2/auth?scope=https://www.googleapis.com/auth/dataportability.myactivity.youtube使用者在 OAuth 同意畫面中按一下「Next」,同意分享自己的資料,並提供帳戶存取權。
使用者選取要共用的資料,以及應用程式可存取該資料的時間長度 (一次性存取資料或 時間限制存取 30 或 180 天),然後按一下「繼續」。
注意:在 OAuth 權杖到期前 90 天內,使用者可以選擇在 OAuth 權杖到期前,更新您對其資料的存取權。如果使用者沒有在 90 天內到期的權限,系統就不會顯示續約按鈕。
注意:如果使用者想在一次性存取權和時間限制存取權之間切換,則必須在撤銷現有授權後,再次完成同意聲明流程。您可以使用
resetAuthorization()撤銷授權,使用者也可以在自己的連結頁面中撤銷授權。使用者會重新導向至應用程式。
開發人員為使用者取得 OAuth 權杖。
您的應用程式會使用附加的 OAuth 權杖呼叫
InitiatePortabilityArchive(resources = ["myactivity.youtube"]),該權杖包含以下 OAuth 範圍:https://www.googleapis.com/auth/dataportability.myactivity.youtube這個呼叫會啟動建立資料封存檔的程序,並傳回工作 ID 和使用者是否授予一次性或時間限制存取權。
注意:一次性存取權代表每個範圍可執行一次匯出作業。如果使用者授予多個範圍,您可以為每個由權杖授權的資源分別建立工作。
您的應用程式會使用附加的 OAuth 權杖呼叫
GetPortabilityArchiveState(job_id),該權杖包含以下 OAuth 範圍:https://www.googleapis.com/auth/dataportability.myactivity.youtube您可以多次呼叫這個方法,擷取封存工作狀態。這個方法會傳回工作的狀態。如果狀態為
COMPLETE,則表示封存檔案已準備就緒,並提供已簽署的 Cloud Storage 網址。請注意,完成封存要求所需的時間可能從數分鐘到數小時不等,視資料大小而定。使用已簽署的網址下載資料封存檔。
如果使用者授予一次性存取權,您可以使用附加的 OAuth 權杖呼叫
ResetAuthorization(),藉此重設用盡的資源,並移除所有 OAuth 同意聲明。如果使用者授予時間限制存取權,您可以在同意聲明到期前,每隔 24 小時匯出資源。
如要進一步瞭解如何使用 Data Portability API 方法,請參閱「呼叫 Data Portability API 方法」。
使用者如何與 Data Portability API 應用程式互動
此圖表顯示使用者如何與已整合資料可攜權 API 的應用程式互動。
首先,系統會向使用者顯示資料擷取選項。
接著,使用者登入 Google 帳戶。
接著,系統會提示使用者分享資料,他們點選「下一步」,然後系統會提示使用者接受隱私權政策,他們點選「我瞭解」。
接著,系統會向使用者顯示 OAuth 同意畫面,讓使用者授權應用程式存取其資料。這裡的選項會與您設定的 OAuth 範圍相符。使用者選取要共用的資料,以及應用程式可存取該資料的時間長度 (一次性存取資料,或以時間為準的存取權,30 天或 180 天),然後按一下「繼續」。
授予存取權後,系統就會開始匯入資料。視資料大小而定,要求可能需要數分鐘到數小時才能完成。