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 同意画面で [次へ] をクリックし、データの共有に同意してアカウントへのアクセス権を付与します。 
- ユーザーは、共有するデータと、アプリがそのデータにアクセスできる期間(データへの1 回限りのアクセスまたは 30 日間または 180 日間の時間ベースのアクセス)を選択し、[続行] をクリックします。 - 注: OAuth トークンの有効期限が切れる 90 日前まで、ユーザーは OAuth トークンの有効期限が切れる前にデータへのアクセス権を更新できます。ユーザーのスコープが 90 日以内に期限切れにならない場合、更新ボタンは表示されません。 - 注: ユーザーが1 回限りのアクセスと時間ベースのアクセスを切り替える場合は、既存の権限を取り消した後に、同意フローを再度行う必要があります。 - resetAuthorization()を使用して付与を取り消すことができます。また、ユーザーは [接続ページ] で取り消すことができます。
- ユーザーはアプリにリダイレクトされます。 
- デベロッパーがユーザーの OAuth トークンを取得します。 
 
- アプリは、次の OAuth スコープを含む OAuth トークンを添付して - InitiatePortabilityArchive(resources = ["myactivity.youtube"])を呼び出します。- https://www.googleapis.com/auth/dataportability.myactivity.youtube- この呼び出しにより、データ アーカイブの作成プロセスが開始され、ジョブ ID と、ユーザーが 1 回限りのアクセス権または時間ベースのアクセス権を付与したかどうかが返されます。 - 注: 1 回限りのアクセスとは、スコープごとに 1 回のエクスポートを意味します。ユーザーが複数のスコープを付与する場合は、トークンによって承認されたリソースごとに個別のジョブを作成できます。 
- アプリは、次の OAuth スコープを含む OAuth トークンを添付して - GetPortabilityArchiveState(job_id)を呼び出します。- https://www.googleapis.com/auth/dataportability.myactivity.youtube- このメソッドを複数回呼び出して、アーカイブ ジョブのステータスを取得できます。このメソッドは、ジョブのステータスを返します。状態が - COMPLETEの場合、アーカイブの準備ができており、署名付き Cloud Storage URL が指定されています。アーカイブ リクエストの完了にかかる時間は、データのサイズによって数分から数時間まで異なります。
- 署名付き URL を使用してデータ アーカイブをダウンロードします。 
- ユーザーが 1 回限りのアクセスを許可した場合は、接続された OAuth トークンを使用して - ResetAuthorization()を呼び出し、使い切ったリソースをリセットしてすべての OAuth 同意を削除します。
- ユーザーが時間ベースのアクセスを許可している場合は、同意が期限切れになるまで 24 時間ごとにリソースをエクスポートできます。 
Data Portability API メソッドの使用方法について詳しくは、Data Portability API メソッドを呼び出すをご覧ください。
ユーザーによる Data Portability API アプリの操作
この図は、Data Portability API と統合されたアプリをユーザーが操作する仕組みを示しています。
 
 
- まず、ユーザーにデータを取得するオプションが表示されます。 
- 次に、ユーザーは Google アカウントにログインします。 
- 次に、データの共有を求めるメッセージが表示されたら [次へ] をクリックし、プライバシー ポリシーに同意するよう求められたら [理解しました] をクリックします。 
- 次に、アプリケーションがユーザーのデータにアクセスできるようにするための OAuth 同意画面が表示されます。ここでのオプションは、構成した OAuth スコープと一致します。ユーザーは、共有するデータと、アプリがそのデータにアクセスできる期間(データへの 1 回限りのアクセスまたは 30 日間または 180 日間の時間ベースのアクセス)を選択し、[続行] をクリックします。 
- アクセスを許可すると、データのインポートが開始されます。データのサイズによっては、リクエストが完了するまでに数分から数時間かかることがあります。