このページでは、Directory API を使用して Google グループを管理する方法について説明します。
- グループの作成
- グループを更新する
- グループ エイリアスを追加する
- グループを取得する
- ドメインまたはアカウントのすべてのグループを取得する
- メンバーのすべてのグループを取得する
- すべてのグループ エイリアスを取得する
- グループ エイリアスを削除する
- グループを削除する
グループの作成
グループを作成するには、次の POST リクエストを使用し、その際にはリクエストを承認するで説明されている承認を含めます。アカウントに関連付けられているすべてのドメインにグループを作成できます。クエリ文字列、リクエスト、レスポンスのプロパティについては、groups.insert メソッドをご覧ください。
POST https://admin.googleapis.com/admin/directory/v1/groups
次の JSON リクエストは、グループを作成するリクエスト本文のサンプルです。グループのメールアドレスは sales_group@example.com です。
{ "email": "sales_group@example.com", "name": "Sales Group", "description": "This is the Sales group." }
成功すると、HTTP 201 ステータス コードと新しいグループのプロパティが返されます。
グループを更新する
グループの設定を更新するには、次の PUT リクエストを使用し、その際にはリクエストを承認するで説明されている承認を含めます。groupKey は、グループのメールアドレス、グループ エイリアスのメールアドレスのいずれか、またはグループの一意の id です。クエリ文字列、リクエスト、レスポンスのプロパティについては、groups.update メソッドをご覧ください。
PUT https://admin.googleapis.com/admin/directory/v1/groups/groupKey
一般に、メールアドレスは変更される可能性があるため、Google ではグループのメールアドレスを永続データのキーとして使用しないことをおすすめします。
次の例では、一意の groupKey は nnn で、グループ名は APAC セールス グループです。
PUT https://admin.googleapis.com/admin/directory/v1/groups/nnn
{ "email": "sales_group@example.com", "name": "APAC Sales Group" }
更新リクエストの場合は、リクエストで送信する必要があるのは更新する情報のみです。リクエストにグループのすべてのプロパティを入力する必要はありません。
成功すると、HTTP 201 ステータス コードと新しいグループのプロパティが返されます。
{ "kind": "directory#groups", "id": "group's unique ID", "etag": "group's unique ETag", "email": "sales_group@example.com", "name": "APAC Sales Group", "directMembersCount": "5", "description": "This is the APAC sales group.", "adminCreated": true, "aliases": [ { "alias": "best_sales_group@example.com" } ], "nonEditableAliases: [ { "alias": "liz@test.com" } ] }
グループ エイリアスを追加する
グループ エイリアスを追加するには、次の POST リクエストを使用し、その際にはリクエストを承認するで説明されている承認を含めます。groupKey は、グループのメールアドレス、グループ エイリアスのメールアドレスのいずれか、またはグループの一意の id です。クエリ文字列、リクエスト、レスポンスのプロパティについては、groups リソースをご覧ください。
POST https://admin.googleapis.com/admin/directory/v1/groups/groupKey/aliases
一般に、メールアドレスは変更される可能性があるため、Google ではグループのメールアドレスを永続データのキーとして使用しないことをおすすめします。
次の JSON リクエストは、グループのエイリアスを作成するサンプル リクエストを示しています。groupKey は、NNNN で表されるグループの一意の id です。
POST https://admin.googleapis.com/admin/directory/v1/groups/NNNN/aliases
{ "alias": "best_sales_group@example.com" }
成功すると、HTTP 201 ステータス コードと新しいグループ エイリアスのプロパティが返されます。
グループを取得する
グループを取得するには、次のGET リクエストを使用し、その際にはリクエストを承認するで説明されている承認を含めます。groupKey は、グループのメールアドレス、グループ エイリアスのメールアドレスのいずれか、またはグループの一意の id です。クエリ文字列、リクエスト、レスポンスのプロパティについては、groups.get メソッドをご覧ください。GET https://admin.googleapis.com/admin/directory/v1/groups/groupKey
一般に、メールアドレスは変更される可能性があるため、Google ではグループのメールアドレスを永続データのキーとして使用しないことをおすすめします。
次の例では、一意の groupKey ID は nnnn です。
GET https://admin.googleapis.com/admin/directory/v1/groups/nnnn
成功すると、HTTP 200 ステータス コードとグループの設定が返されます。
{ "kind": "directory#groups", "id": "group's unique ID", "etag": "group's unique ETag", "email": "sales_group@example.com", "name": "APAC Sales Group", "directMembersCount": "5", "description": "This is the APAC sales group.", "adminCreated": true, "aliases": [ { "alias": "best_sales_group@example.com" } ], "nonEditableAliases: [ { "alias": "liz@test.com" } ] }
ドメインまたはアカウントのすべてのグループを取得する
特定のドメインまたはアカウントのすべてのグループを取得するには、次の GET リクエストを使用し、その際にはリクエストを承認するで説明されている承認を含めます。クエリ文字列、リクエスト、レスポンスのプロパティについては、groups.list メソッドをご覧ください。この例では、読みやすくするために改行を使用しています。
GET https://admin.googleapis.com/admin/directory/v1/groups?domain=domain name &customer=my_customer or customerId&pageToken=pagination token &maxResults=max results
ドメインまたはアカウントのすべてのグループを取得する場合は、次の点を考慮してください。
- サブドメインのすべてのグループ:
domain引数にドメイン名を使用します。 - アカウントのすべてのグループ:
customer引数に、my_customer値またはアカウントのcustomerId値のどちらかを使用します。アカウント管理者の場合は、文字列my_customerを使用してご自身のアカウントのcustomerIdを表します。販売パートナー経由で購入されたお客様のアカウントに販売パートナーがアクセスしている場合は、販売パートナー経由で購入されたアカウントのcustomerIdを使用します。customerId値には、ドメイン内のすべてのユーザーを取得するの操作のリクエストで使ったアカウントのプライマリ ドメイン名を使用します。結果のレスポンスにcustomerId値が入っています。 domain引数とcustomer引数の両方を使用する場合: Directory API はdomainのすべてのグループを返します。domain引数とcustomer引数を使用しない場合: Directory API は、my_customerに関連付けられたアカウントのすべてのグループを返します。これは、リクエストを行う管理者のアカウントcustomerIdです。customer引数とuserKey引数の両方を使用する場合: Directory API はエラーを返します。これらの引数を使用して 2 つの個別のリクエストを行う必要があります。
次の例では、アカウント管理者が my_customer を使用して、アカウントに関するすべてのグループのリストをリクエストします。
GET https://admin.googleapis.com/admin/directory/v1/groups?domain=sales.com&customer=my_customer&maxResults=2
次の例では、販売パートナー管理者のリクエストが、販売パートナー経由で購入されたアカウントであり、customerId C03az79cb であるグループがすべて返されます。1 つのレスポンス ページで返される結果の最大数は 2 です。このレスポンスには、後続のユーザーリストの nextPageToken があります。
GET https://admin.googleapis.com/admin/directory/v1/groups?domain=sales.com&customer=C03az79cb&maxResults=2
成功すると、HTTP 200 ステータス コードと、グループのメールアドレスがアルファベット順で返されます。
{ "kind": "directory#groups", "groups": [ { "kind": "directory#groups", "id": "group's unique ID", "etag": "group's unique ETag", "email": "support@sales.com", "name": "Sales support", "directMembersCount": "6", "description": "The sales support group", "adminCreated": true }, { "kind": "directory#groups", "id": "group's unique ID", "etag": "group's unique ETag", "email": "travel@sales.com", "name": "Sales travel", "directMembersCount": "2", "description": "The travel group supporting sales", "adminCreated": false, "aliases": [ { "alias": "best_sales_group@example.com" } ], "nonEditableAliases: [ { "alias": "liz@test.com" } ] }, "nextPageToken": "NNNN" }
メンバーのすべてのグループを取得する
メンバーが登録しているグループをすべて取得するには、次の GET リクエストを使用し、その際にはリクエストを承認するで説明されている承認を含めます。この例では、読みやすくするために改行を使用しています。
GET https://admin.googleapis.com/admin/directory/v1/groups?userKey=user key ?pageToken=pagination token &maxResults=maximum results per response page
- メンバーは、ユーザーまたはグループのいずれかです。
userKeyは、ユーザーのメインのメールアドレス、ユーザーのエイリアスのメールアドレス、グループのメインのメールアドレス、グループのメール エイリアス、またはユーザーを取得するの操作を使用して取得できるユーザーの一意のidです。userKeyで指定するユーザーまたはグループは、ご自身のドメインに属している必要があります。- また、多数のグループを含むレスポンスには
pageTokenクエリ文字列を使用します。ページ分けの場合、レスポンスは次のページを表すトークンを含むnextPageTokenプロパティを返します。次のリクエストでは、このトークンをpageTokenクエリ文字列値として使用します。 customer引数とuserKey引数の両方を使用する場合: Directory API はエラーを返します。これらの引数を使用して 2 つの個別のリクエストを行う必要があります。
リクエストとレスポンスのプロパティについては、groups.list メソッドをご覧ください。
成功すると、HTTP 200 ステータス コードとメンバー情報のリストが返されます。
- メンバーが登録しているすべてのグループ(ユーザーのドメイン外のグループを含む)が返されます。
- 各グループのメールアドレスのアルファベット順でグループが返されます。
- レスポンスの本文では、
idはグループの一意の ID です。 - レスポンスでは、ユーザーのドメイン外のグループ リストに、グループ外のエイリアスは含まれません。
{ "kind": "directory#groups", "groups": [ { "kind": "directory#group", "id": "group's unique ID", "etag": "group's unique ETag", "email": "sales_group@example.com", "name": "sale group", "directMembersCount": "5", "description": "Sales group" }, { "kind": "directory#group", "id": "group's unique ID", "etag": "group's unique ETag", "email": "support_group.com", "name": "support group", "directMembersCount": "5", "description": "Support group" } ], "nextPakeToken": "NNNNN" }
すべてのグループ エイリアスを取得する
すべてのグループ エイリアスを取得するには、次のGET リクエストを使用し、その際にはリクエストを承認するで説明されている承認を含めます。groupKey には、グループのメインのメールアドレス、グループの一意の id、またはグループ エイリアスのメールアドレスのいずれかを使用できます。リクエストとレスポンスのプロパティについては、groups リソースをご覧ください。
GET https://admin.googleapis.com/admin/directory/v1/groups/groupKey/aliases成功すると、HTTP 201 ステータス コードとグループのエイリアスのリストが返されます。
グループ エイリアスを削除する
グループ エイリアスを削除するには、次のDELETE リクエストを使用し、その際にはリクエストを承認するで説明されている承認を含めます。groupKey には、グループのメインのメールアドレス、グループの一意の id、またはグループ エイリアスのメールアドレスのいずれかを使用できます。aliasId は、削除されるエイリアスです。リクエストとレスポンスのプロパティについては、groups リソースをご覧ください。
DELETE https://admin.googleapis.com/admin/directory/v1/groups/groupKey/aliases/aliasId
成功すると、レスポンスとして HTTP 201 のステータス コードが返されます。
グループを削除する
グループを削除するには、次の DELETE リクエストを使用し、その際にはリクエストを承認するで説明されている承認を含めます。groupKey は、グループの一意の id です。
DELETE https://admin.googleapis.com/admin/directory/v1/groups/groupKeyDELETE リクエストでは、nnnn グループ id のグループが削除されます。DELETE https://admin.googleapis.com/admin/directory/v1/group/nnnn
成功すると、レスポンスとして HTTP 200 のステータス コードが返されます。
グループを削除すると、次のようになります。
- グループのすべてのメンバーが削除されます。メンバーのユーザー アカウントは削除されません。
- グループ アーカイブは削除されます。
- 削除されたグループのアドレスに送信されたメールは配信されません。送信者にバウンスメールが届きます。