Directory API: グループ メンバー

グループにメンバーを追加する

グループにメンバーを追加するには、次の POST リクエストを使用し、その際にはリクエストを承認するで説明されている承認を含めます。グループ メンバーには、ユーザーまたは別のグループを指定できます。groupKey は、新しいメンバーのグループ メールアドレスまたはグループの一意の id です。リクエストとレスポンスのプロパティについては、API リファレンスをご覧ください。

POST https://admin.googleapis.com/admin/directory/v1/groups/groupKey/members

グループを別のグループのメンバーとして追加する場合、子グループのメンバーが親グループのメンバーに現れるまでに 10 分ほどかかることがあります。また、グループ メンバーシップが循環している場合にもエラーが返されます。たとえば、group1 が group2 のメンバーの場合、group2 を group1 のメンバーにすることはできません。

JSON リクエスト

次の JSON リクエストは、グループ メンバーを作成するリクエスト本文のサンプルです。メンバーのメールアドレスは liz@example.com で、グループのメンバーのロールは MEMBER です。この POST リクエストでは、groupKey に NNNNN を使用しています。

POST https://admin.googleapis.com/admin/directory/v1/groups/NNNNN/members
{
   "email": "liz@example.com",
    "role": "MEMBER"
}

グループ メンバーの role には、以下の値を指定できます。

  • OWNER - このロールでは、グループへの送信メッセージの変更、メンバーの追加と削除、メンバーロールの変更、グループの設定の変更、グループの削除を行えます。OWNER はグループのメンバーである必要があります。
  • MANAGER - このロールを使用できるのは、管理コンソールで Google Workspace を有効した場合のみです。MANAGER ロールでは、メンバーを OWNER ロールにするか、グループを削除する以外の OWNER ロールで実行できるすべての操作を行えます。グループには複数の OWNER メンバーと MANAGER メンバーを含めることができます。
  • MEMBER – このロールは、グループへの登録、ディスカッション アーカイブの表示、グループのメンバーシップ リストの表示を行うことができます。メンバーのロールの詳細については、管理者向けヘルプセンターをご覧ください。

JSON レスポンス

成功すると、HTTP 200 ステータス コードとメンバーシップ情報が返されます。id はメンバーの一意のメンバーシップ ID です。

{
   "kind": "directory#member",
   "id": "group member's unique ID",
   "email": "liz@example.com",
   "role": "MEMBER",
   "type": "GROUP"
  }

グループ メンバーの type には、以下の値を指定できます。

  • GROUP – メンバーは別のグループ
  • MEMBER – メンバーはユーザー

グループ メンバーシップを更新する

グループ メンバーシップを更新するには、次の PUT リクエストを使用し、その際にはリクエストを承認するで説明されている承認を含めます。groupKey は、グループのメールアドレスまたはグループの一意の id です。memberKey は、ユーザーまたはグループのメインのメールアドレス、ユーザーのエイリアスのメールアドレス、またはユーザーの一意の id です。リクエストとレスポンスのプロパティについては、API リファレンスをご覧ください。

PUT https://admin.googleapis.com/admin/directory/v1/groups/groupKey/members/memberKey

JSON リクエスト

次の JSON リクエストは、グループ メンバーシップ設定を更新するリクエスト本文の例です。メンバーのメールアドレスは liz@example.com で、グループのメンバーのロールは MEMBER から MANAGER に変更されています。この例の PUT リクエストの groupKey は NNNNN です。MEMBER、OWNER、MANAGER のロールの詳細については、管理者向けヘルプセンターをご覧ください。

PUT https://admin.googleapis.com/admin/directory/v1/groups/NNNNN/members/liz@example.com
{
   "email": "liz@example.com",
    "role": "MANAGER"
}

JSON レスポンス

成功すると、HTTP 200 ステータス コードと更新されたメンバーシップ情報が返されます。id はメンバーの一意のメンバーシップ ID です。

{
   "kind": "directory#member",
   "id": "group member's unique ID",
   "email": "liz@example.com",
   "role": "MANAGER",
   "type": "GROUP"
  }

グループのメンバーを取得する

グループ メンバーシップを取得するには、次の GET リクエストを使用し、その際にはリクエストを承認するで説明されている承認を含めます。groupKey は、グループのメールアドレスまたはグループの一意の id です。memberKey は、ユーザーまたはグループのメインのメールアドレス、ユーザーのエイリアスのメールアドレス、またはユーザーの一意の id です。リクエストとレスポンスのプロパティについては、API リファレンスをご覧ください。

GET https://admin.googleapis.com/admin/directory/v1/groups/groupKey/members/memberKey

JSON レスポンス

成功すると、HTTP 200 ステータス コードとメンバーシップ情報が返されます。id はメンバーの一意のメンバーシップ ID です。

{
   "kind": "directory#member",
   "id": "group member's unique ID",
   "email": "liz@example.com",
   "role": "MANAGER",
   "type": "GROUP"
  }

すべてのグループ メンバーを取得する

すべてのグループ メンバーを取得するには、次の GET リクエストを使用し、その際にはリクエストを承認するで説明されている承認を含めます。groupKey は、グループ メールアドレスまたはグループの一意の id です。オプションの roles クエリ文字列は、グループロールをロールごとに取得できるフィルタです。結果のロールのコレクションは roles フィルタで指定した順序になります。リクエストとレスポンスのプロパティについては、API リファレンスをご覧ください。この例では、読みやすくするために改行を使用しています。

GET https://admin.googleapis.com/admin/directory/v1/groups/groupKey/members
?pageToken=pagination token
&roles=one or more of OWNER,MANAGER,MEMBER separated by a comma
&maxResults=maximum results per response page

すべてのメンバーが、メンバーのメールアドレスのアルファベット順で返されます。また、多数のメンバーを含むレスポンスには pageToken クエリ文字列を使用します。ページ分けの場合、レスポンスは次のページのトークンを含む nextPageToken プロパティを返します。次のリクエストでは、このトークンを pageToken クエリ文字列値として使用します。

JSON レスポンス

成功すると、HTTP 200 ステータス コードとメンバー情報のリストが返されます。id はメンバーの一意のメンバーシップ ID です。このレスポンスには、後続のグループ メンバー リストの nextPageToken があります。

{
   "kind": "directory#members",
   "members": [
   {
    "kind": "directory#member",
    "id": "group member's unique ID",
    "email": "liz@example.com",
    "role": "MANAGER",
    "type": "GROUP"
   },
   {
    "kind": "directory#member",
    "id": "group member's unique ID",
    "email": "radhe@example.com",
    "role": "MANAGER",
    "type": "MEMBER"
   }
  ],
   "nextPageToken": "NNNNN"
}

グループのメンバーシップを削除する

グループのメンバーのメンバーシップを削除するには、次の DELETE リクエストを使用し、その際にはリクエストを承認するで説明されている承認を含めます。groupKey は、グループの一意の id です。memberKey は、削除されたユーザーまたはグループ メンバーのメインのメールアドレス、あるいはユーザーの一意の id です。リクエストとレスポンスのプロパティについては、API リファレンスをご覧ください。

DELETE https://admin.googleapis.com/admin/directory/v1/groups/groupKey/members/memberKey
たとえば、次の DELETE リクエストでは、groupKey が nnn で、memberKey がユーザーのメインのメールアドレス liz@example.com であるメンバーを削除します。
DELETE https://admin.googleapis.com/admin/directory/v1/groups/nnnn/members/liz@example.com

成功すると、レスポンスとして HTTP 200 のステータス コードが返されます。

メンバーを削除した場合には、以下の点に注意してください。

  • 削除したメンバーは、それ以降グループ宛のメールを受信できなくなります。
  • グループからメンバーを削除しても、ユーザーのアカウントは削除されません。
  • グループ オーナーを削除しても、グループは通常どおり機能します。管理者は、このグループを管理することも、別のグループ メンバーにオーナー権限を割り当てることもできます。