Directory API: グループ

グループを作成する

グループを作成するには、次の POST リクエストを使用し、その際にはリクエストを承認するで説明されている承認を含めます。アカウントに関連付けられているすべてのドメインにグループを作成できます。クエリ文字列、リクエスト、レスポンスのプロパティについては、API リファレンスをご覧ください。

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

JSON リクエスト

次の JSON リクエストは、グループを作成するリクエスト本文のサンプルです。グループのメールアドレスは sales_group@example.com です。

{
   "email": "sales_group@example.com",
   "name": "Sales Group",
   "description": "This is the Sales group."
}

成功すると、レスポンスとして HTTP 201 のステータス コードが返されます。レスポンスでは、ステータス コードとともに新しいグループのプロパティが返されます。

グループを更新する

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

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

一般に、メールアドレスは変更される可能性があるため、Google ではグループのメールアドレスを永続データのキーとして使用しないことをおすすめします。

JSON リクエスト

下記の例では、一意の groupKey が「nnn」になっており、グループ名は APAC セールス グループに変更されています。

PUT https://admin.googleapis.com/admin/directory/v1/groups/nnn
{
    "email": "sales_group@example.com",
    "name": "APAC Sales Group"
}

更新リクエストの場合は、リクエストで送信する必要があるのは更新する情報のみです。リクエストにグループのすべてのプロパティを入力する必要はありません。

JSON レスポンス

成功すると、レスポンスとして 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 です。クエリ文字列、リクエスト、レスポンスのプロパティについては、API リファレンスをご覧ください。

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

一般に、メールアドレスは変更される可能性があるため、Google ではグループのメールアドレスを永続データのキーとして使用しないことをおすすめします。

JSON リクエスト

次の JSON リクエストは、グループのエイリアスを作成するサンプル リクエストを示しています。groupKey は、NNNN で表されるグループの一意の id です。
POST https://admin.googleapis.com/admin/directory/v1/groups/NNNN/aliases
{
    "alias": "best_sales_group@example.com"
}

JSON レスポンス

成功すると、レスポンスとして HTTP 201 のステータス コードが返されます。レスポンスでは、ステータス コードとともに新しいグループ エイリアスのプロパティが返されます。

グループを取得する

グループを取得するには、次の GET リクエストを使用し、その際にはリクエストを承認するで説明されている承認を含めます。groupKey は、グループのメールアドレス、グループ エイリアスのメールアドレスのいずれか、またはグループの一意の id です。クエリ文字列、リクエスト、レスポンスのプロパティについては、API リファレンスをご覧ください。
GET https://admin.googleapis.com/admin/directory/v1/groups/groupKey

一般に、メールアドレスは変更される可能性があるため、Google ではグループのメールアドレスを永続データのキーとして使用しないことをおすすめします。

以下の例では、一意の groupKey ID は「nnnn」です。

GET https://admin.googleapis.com/admin/directory/v1/groups/nnnn

JSON レスポンス

成功すると、レスポンスとして 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 リクエストを使用し、その際にはリクエストを承認するで説明されている承認を含めます。クエリ文字列、リクエスト、レスポンスのプロパティについては、API リファレンスをご覧ください。この例では、読みやすくするために改行を使用しています。

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 引数の両方を使用する場合 - API は domain のすべてのグループを返します。
  • domain 引数と customer 引数を使用しない場合 - API は、my_customer に関連付けられたアカウントのすべてのグループを返します。これは、API リクエストを行う管理者のアカウント customerId です。

この例では、アカウント管理者が 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

JSON レスポンス

成功すると、レスポンスとして 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 クエリ文字列値として使用します。

リクエストとレスポンスのプロパティについては、API リファレンスをご覧ください。

JSON レスポンス

成功すると、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、またはグループ エイリアスのメールアドレスのいずれかを使用できます。リクエストとレスポンスのプロパティについては、API リファレンスをご覧ください。

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

成功すると、レスポンスとして HTTP 201 のステータス コードが返されます。レスポンスでは、ステータス コードとともにグループのエイリアスのリストが返されます。

グループ エイリアスを削除する

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

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 のステータス コードが返されます。

グループを削除すると、次のようになります。

  • グループのすべてのメンバーが削除されます。メンバーのユーザー アカウントは削除されません。
  • グループ アーカイブは削除されます。
  • 削除されたグループのアドレスに送信されたメールは配信されません。送信者にバウンスメールが届きます。