アプリケーションに OAuth を構成する

アプリケーションの OAuth を構成するには、OAuth ワークフローを設定し、Data Portability API OAuth スコープを有効にします。

OAuth ワークフローを設定する

アプリケーションの OAuth フローを設定するには、Google Identity のドキュメントの基本的な手順に沿って操作します。

ほとんどのデベロッパーは、OAuth の同意を得るためにサーバーサイド ウェブアプリのフローを使用しますが、JavaScript ウェブアプリのフローモバイルアプリとデスクトップ アプリのフローを使用することもできます。

Data Portability API の OAuth スコープ

OAuth 用に Data Portability API アプリケーションを構成する場合は、アプリケーションに関連する Data Portability API OAuth スコープを有効にします。スコープによっては sensitiverestricted があり、追加の要件が適用される場合があります。

Data Portability API スコープを OAuth フローに追加する場合、ユーザーがすべてのスコープではなく一部のスコープに同意する場合があります。アプリは、以下の方法でこれらのケースに対処できる必要があります。

  • 一部のデータのエクスポートを許可する
  • 必要なスコープがすべて選択されていないことをユーザーに通知する(および正常に失敗する)
  • 残りの同意を求める

ユーザーの同意に基づいて、その同意に基づくデータのエクスポートを 1 回行うことができます。データを再度ダウンロードするには、ユーザーから新たに同意を得る必要があります。

また、OAuth フロー中、アプリは同意に使用された Google アカウントを認識しません。アプリが受け取る OAuth トークンは不透明です。

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

スコープの制限

このセクションでは、エラーにつながるスコープの制限について説明します。

混合スコープ

Data Portability API スコープ(https://www.googleapis.com/auth/dataportability.* など)のリクエストは、他のスコープ(https://www.googleapis.com/auth/userinfo.email など)と組み合わせて使用できません。以下に、制限されている部分が太字で示された不正なリクエストの例を示します。

https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id&
redirect_uri=redirect_uri&
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search+https://www.googleapis.com/auth/userinfo.email&
include_granted_scopes=false

以前に付与されたスコープ

DPAPI スコープをリクエストするときに include_granted_scopes=true を設定しないでください。制限されている部分が太字になっている、無効なリクエストの例を次に示します。

https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id&
redirect_uri=redirect_uri&
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search&
include_granted_scopes=true

スコープのカテゴリ

Data Portability API でサポートされているすべての OAuth スコープとそのカテゴリについては、使用可能な OAuth スコープをご覧ください。特定のサービスでサポートされているすべてのリソース グループと OAuth スコープの一覧については、そのサービスのスキーマ リファレンス ページをご覧ください。