Directory API: リクエストの承認

アプリケーションから Admin SDK API に送信するすべてのリクエストには、認証トークンを含める必要があります。このトークンは Google でアプリケーションを識別するためにも使用されます。

承認プロトコルについて

アプリケーションでは OAuth 2.0 を使用してリクエストを承認する必要があります。これ以外の承認プロトコルはサポートされていません。アプリケーションで Google ログインを使用している場合、承認手続きの一部が自動化されます。

OAuth 2.0 によるリクエストの承認

Admin SDK API へのすべてのリクエストは、認証済みのユーザーによって承認される必要があります。

OAuth 2.0 の承認プロセス(または「フロー」)の詳細は、開発するアプリケーションの種類によって若干異なりますが、次の一般的なプロセスは、すべての種類のアプリケーションに適用されます。

  1. アプリケーションの作成時に、Google API コンソールを使用してアプリケーションを登録します。そうすると、後で必要になるクライアント ID やクライアント シークレットなどの情報が Google から提供されます。
  2. Google API Console で Admin SDK API を有効にします(API が API コンソールに表示されない場合は、この手順をスキップしてください)。
  3. アプリケーションは、ユーザー データにアクセスする必要がある場合、特定のアクセス範囲を Google にリクエストします。
  4. データをリクエストするアプリケーションの承認を求める Google の同意画面がユーザーに表示されます。
  5. ユーザーが承認すると、Google からアプリケーションに短期間有効なアクセス トークンが与えられます。
  6. アプリケーションは、そのアクセス トークンを付けてユーザーデータをリクエストします。
  7. リクエストとトークンが有効であると判断されると、リクエストされたデータが返されます。

プロセスによっては、更新トークンを使用して新しいアクセス トークンを取得するなど、追加の手順が必要になる場合もあります。各種アプリケーションに対するフローについて詳しくは、Google の OAuth 2.0 に関するドキュメントをご覧ください。

Admin SDK API で使用される OAuth 2.0 のスコープ情報は次のとおりです。

デバイス用のスコープ 説明
https://www.googleapis.com/auth/admin.directory.device.chromeos Chrome デバイスのすべてのオペレーションにアクセスするためのグローバル スコープ。
https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly Chrome デバイスの取得に限ったスコープ。
https://www.googleapis.com/auth/admin.directory.device.mobile モバイル デバイスのすべてのオペレーションにアクセスするためのグローバル スコープ。
https://www.googleapis.com/auth/admin.directory.device.mobile.readonly モバイル デバイスの取得に限ったスコープ。
https://www.googleapis.com/auth/admin.directory.device.mobile.action モバイル デバイスでアクションを起こすタスクのためのスコープ。
グループ、グループ エイリアス、グループ メンバー用のスコープ 説明
https://www.googleapis.com/auth/admin.directory.group.member グループ メンバーのすべてのロールと情報オペレーションにアクセスするためのスコープ。
https://www.googleapis.com/auth/admin.directory.group.member.readonly グループ メンバーのロールと情報の取得に限ったスコープ。
https://www.googleapis.com/auth/admin.directory.group グループのエイリアスやメンバーを含め、すべてのグループ オペレーションにアクセスするためのグローバル スコープ。
https://www.googleapis.com/auth/admin.directory.group.readonly グループ、グループ エイリアス、メンバー情報の取得に限ったスコープ。
組織部門用のスコープ 説明
https://www.googleapis.com/auth/admin.directory.orgunit 組織部門のすべてのオペレーションにアクセスするためのグローバル スコープ。
https://www.googleapis.com/auth/admin.directory.orgunit.readonly 組織部門の取得に限ったスコープ。
ユーザーとユーザー エイリアス用のスコープ 説明
https://www.googleapis.com/auth/admin.directory.user ユーザーとユーザー エイリアスのすべてのオペレーションにアクセスするためのグローバル スコープ。
https://www.googleapis.com/auth/admin.directory.user.readonly ユーザーまたはユーザー エイリアスの取得に限ったスコープ。
https://www.googleapis.com/auth/admin.directory.user.alias ユーザー エイリアスのすべてのオペレーションにアクセスするためのスコープ。
https://www.googleapis.com/auth/admin.directory.user.alias.readonly ユーザー エイリアスの取得に限ったスコープ。
ユーザー セキュリティ機能用のスコープ 説明
https://www.googleapis.com/auth/admin.directory.user.security すべてのアプリケーション固有のパスワード、OAuth トークン、確認コードのオペレーションにアクセスするためのスコープ。
ロール管理用のスコープ 説明
https://www.googleapis.com/auth/admin.directory.rolemanagement ロールとロール割り当てを含め、すべてのロール管理オペレーションのためのスコープ。
https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly ロール、権限、ロール割り当てを取得、列挙するためのスコープ。
カスタム ユーザー スキーマ用のスコープ 説明
https://www.googleapis.com/auth/admin.directory.userschema カスタム ユーザーのすべてのスキーマ オペレーションにアクセスするためのスコープ。
https://www.googleapis.com/auth/admin.directory.userschema.readonly カスタム ユーザーのスキーマの取得に限ったスコープ。
顧客用のスコープ 説明
https://www.googleapis.com/auth/admin.directory.customer 顧客のすべてのオペレーションにアクセスするためのスコープ。
https://www.googleapis.com/auth/admin.directory.customer.readonly 顧客の取得に限ったスコープ。
ドメイン用のスコープ 説明
https://www.googleapis.com/auth/admin.directory.domain ドメインのすべてのオペレーションにアクセスするためのスコープ。
https://www.googleapis.com/auth/admin.directory.domain.readonly ドメインの取得に限ったスコープ。
カレンダー リソース用のスコープ 説明
https://www.googleapis.com/auth/admin.directory.resource.calendar カレンダー リソースのすべてのオペレーションにアクセスするためのスコープ。
https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly カレンダー リソースの取得に限ったスコープ。

OAuth 2.0 を使用してアクセスをリクエストするには、アプリケーションの登録時に Google から提供された情報(クライアント ID やクライアント シークレットなど)の他に、このスコープ情報が必要になります。

ヒント: Google API クライアント ライブラリで一部の承認プロセスを処理することもできます。これらのライブラリは、各種プログラミング言語で利用できます。詳しくは、ライブラリとサンプルのページをご覧ください。