概要: 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. ユーザーはアプリにリダイレクトされます。

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

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

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

    この呼び出しにより、データ アーカイブの作成プロセスが開始されます。移行アーカイブは、ユーザーの承認から 24 時間以内に開始する必要があります。

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

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

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

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

  5. アタッチされた OAuth トークンを使用して ResetAuthorization() を呼び出し、使い切ったリソースをリセットし、すべての OAuth 同意を削除します。

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

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

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

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

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

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

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

  4. 次に、アプリケーションがユーザーのデータにアクセスできるようにするための OAuth 同意画面が表示されます。ここでのオプションは、構成した OAuth スコープと一致します。

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