このページでは、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/groupKey
DELETE
リクエストでは、nnnn
グループ id
のグループが削除されます。DELETE https://admin.googleapis.com/admin/directory/v1/group/nnnn
成功すると、レスポンスとして HTTP 200
のステータス コードが返されます。
グループを削除すると、次のようになります。
- グループのすべてのメンバーが削除されます。メンバーのユーザー アカウントは削除されません。
- グループ アーカイブは削除されます。
- 削除されたグループのアドレスに送信されたメールは配信されません。送信者にバウンスメールが届きます。