Data Portability API を使用すると、Google サービスからアプリケーションにデータのコピーを移動するための認可をユーザーにリクエストするアプリケーションを構築できます。これにより、データの移行が可能になり、サービスの切り替えが容易になります。
ユーザーがデータを共有する方法については、データのコピーをサードパーティと共有するをご覧ください。
前提条件
アプリをリリースする前に、Google による承認を受ける必要があります。
また、お住まいの地域のユーザーが Data Portability API を利用できることも確認する必要があります。サポートされている国と地域の一覧については、[データのコピーをサードパーティと共有する] ページのよくある質問をご覧ください。
デベロッパーのワークフロー
次の手順で、Data Portability API を使用するアプリケーションを作成します。
ユーザーの OAuth 同意フローを実装します。この例では、ユーザーは YouTube 動画データへのアクセスを提供しています。
ユーザーが [YouTube 動画をインポート] をクリックし、Google アカウントにログインします。
アプリは、ユーザーを OAuth 同意 URL に転送します。このサンプル URL は簡略化されているため、いくつかのパラメータが欠けています。
https://accounts.google.com/o/oauth2/v2/auth?scope=https://www.googleapis.com/auth/dataportability.myactivity.youtube
ユーザーが OAuth 同意画面で [次へ] をクリックし、データの共有に同意して、アカウントへのアクセス権を提供します。
ユーザーはアプリにリダイレクトされます。
デベロッパーがユーザーの OAuth トークンを取得します。
アプリは、次の OAuth スコープを含む OAuth トークンを添付して
InitiatePortabilityArchive(resources = ["myactivity.youtube"])
を呼び出します。https://www.googleapis.com/auth/dataportability.myactivity.youtube
この呼び出しにより、データ アーカイブの作成プロセスが開始されます。移行アーカイブは、ユーザーの承認から 24 時間以内に開始する必要があります。
アプリは、次の OAuth スコープを含む OAuth トークンを添付して
GetPortabilityArchiveState(job_id)
を呼び出します。https://www.googleapis.com/auth/dataportability.myactivity.youtube
このメソッドを複数回呼び出して、アーカイブ ジョブのステータスを取得できます。このメソッドは、ジョブのステータスを返します。ステータスが COMPLETE の場合、アーカイブの準備が整っており、署名付き Cloud Storage URL が提供されています。アーカイブ リクエストの完了にかかる時間は、データのサイズによって数分から数時間まで異なります。
署名付き URL を使用してデータ アーカイブをダウンロードします。
アタッチされた OAuth トークンを使用して
ResetAuthorization()
を呼び出し、使い切ったリソースをリセットし、すべての OAuth 同意を削除します。
Data Portability API メソッドの使用方法について詳しくは、Data Portability API メソッドを呼び出すをご覧ください。
ユーザーによる Data Portability API アプリの操作
この図は、Data Portability API と統合されたアプリをユーザーが操作する仕組みを示しています。
まず、ユーザーにデータを取得するオプションが表示されます。
次に、ユーザーは Google アカウントにログインします。
次に、ユーザーはデータの共有を求めるメッセージが表示されたら [次へ] をクリックし、プライバシー ポリシーに同意するよう求められたら [了解しました] をクリックします。
次に、アプリケーションがユーザーのデータにアクセスできるようにするための OAuth 同意画面が表示されます。ここでのオプションは、構成した OAuth スコープと一致します。
アクセスを許可すると、データのインポートが開始されます。データのサイズによっては、リクエストが完了するまでに数分から数時間かかることがあります。