概要: Data Portability API を使用してアプリを開発する

Data Portability API を使用すると、Google サービスからアプリケーションにデータのコピーを移動するための認可をユーザーにリクエストするアプリケーションを構築できます。これにより、データの移行が可能になり、サービスの切り替えが容易になります。

ユーザーがデータを共有する方法については、データのコピーをサードパーティと共有するをご覧ください。

前提条件

アプリをリリースする前に、Google の承認を受ける必要があります。

また、お住まいの地域のユーザーが Data Portability API を利用できることも確認する必要があります。サポートされている国と地域の一覧については、[データのコピーをサードパーティと共有する] ページのよくある質問をご覧ください。

デベロッパーのワークフロー

次の手順で、Data Portability API を使用するアプリケーションを作成します。

デベロッパーが Data Portability API を使用してアプリを作成する手順

  1. ユーザーの OAuth 同意フローを実装します。この例では、ユーザーは YouTube 動画データへのアクセスを提供しています。

    1. ユーザーが [YouTube 動画をインポート] をクリックし、Google アカウントにログインします。

    2. アプリは、ユーザーを OAuth 同意 URL に転送します。このサンプル URL は簡略化されており、一部のパラメータがありません。

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

    3. ユーザーが OAuth 同意画面で [次へ] をクリックし、データの共有に同意してアカウントへのアクセス権を付与します。

    4. ユーザーは、共有するデータと、アプリがそのデータにアクセスできる期間(データへの1 回限りのアクセスまたは 30 日間または 180 日間の時間ベースのアクセス)を選択し、[続行] をクリックします。

      : OAuth トークンの有効期限が切れる 90 日前までに、ユーザーは OAuth トークンの有効期限が切れる前にデータへのアクセス権を更新できます。ユーザーのスコープが 90 日以内に期限切れにならない場合、更新ボタンは表示されません。

    5. ユーザーはアプリにリダイレクトされます。

    6. デベロッパーがユーザーの OAuth トークンを取得します。

  2. アプリは、次の OAuth スコープを含む OAuth トークンを添付して InitiatePortabilityArchive(resources = ["myactivity.youtube"]) を呼び出します。

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

    この呼び出しにより、データ アーカイブの作成プロセスが開始され、ジョブ ID と、ユーザーが 1 回限りのアクセス権または時間ベースのアクセス権を付与したかどうかが返されます。

    : 1 回限りのアクセスとは、スコープごとに 1 回のエクスポートを意味します。ユーザーが複数のスコープを付与する場合は、トークンによって承認されたリソースごとに個別のジョブを作成できます。

  3. アプリは、次の OAuth スコープを含む OAuth トークンを添付して GetPortabilityArchiveState(job_id) を呼び出します。

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

    このメソッドを複数回呼び出して、アーカイブ ジョブのステータスを取得できます。このメソッドは、ジョブの状態を返します。状態が COMPLETE の場合、アーカイブの準備ができており、署名付き Cloud Storage URL が指定されています。アーカイブ リクエストの完了にかかる時間は、データのサイズによって数分から数時間まで異なります。

  4. 署名付き URL を使用してデータ アーカイブをダウンロードします。

  5. ユーザーが 1 回限りのアクセスを許可した場合は、接続された OAuth トークンを使用して ResetAuthorization() を呼び出し、使い切ったリソースをリセットして、すべての OAuth 同意を削除します。

  6. ユーザーが時間ベースのアクセスを許可している場合は、同意が期限切れになるまで 24 時間ごとにリソースをエクスポートできます。

Data Portability API メソッドの使用方法について詳しくは、Data Portability API メソッドを呼び出すをご覧ください。

ユーザーによる Data Portability API アプリの操作

この図は、Data Portability API と統合されたアプリをユーザーが操作する仕組みを示しています。

ユーザーがデータを書き出す手順

  1. まず、ユーザーにデータを取得するオプションが表示されます。

  2. 次に、ユーザーは Google アカウントにログインします。

  3. 次に、データの共有を求めるメッセージが表示されたら [次へ] をクリックし、プライバシー ポリシーに同意するよう求められたら [理解しました] をクリックします。

  4. 次に、アプリケーションがユーザーのデータにアクセスできるようにするための OAuth 同意画面が表示されます。ここでのオプションは、構成した OAuth スコープと一致します。ユーザーは、共有するデータと、アプリがそのデータにアクセスできる期間(データへの 1 回限りのアクセスまたは 30 日間または 180 日間の時間ベースのアクセス)を選択し、[続行] をクリックします。

  5. アクセスを許可すると、データのインポートが開始されます。データのサイズによっては、リクエストが完了するまでに数分から数時間かかることがあります。