Directory API:群组成员

向群组添加成员

如需向群组添加成员,请使用以下 POST 请求并包含授权请求中所述的授权。群组成员可以是用户,也可以是其他群组。groupKey 是新成员的群组电子邮件地址或群组的唯一 id。如需了解请求和响应属性,请参阅 API 参考

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

如果您将某个群组添加为另一个群组的成员,则下级群组的成员最长可能需要 10 分钟才会显示为上级群组的成员。此外,该 API 会针对群组成员资格中的循环返回错误。例如,如果“group1”是“group2”的成员,则“group2”不能是“group1”的成员。

JSON 请求

以下 JSON 请求展示了用于创建群组成员的示例请求正文。成员的电子邮件地址为 liz@example.com,成员在群组中的角色为 MEMBERPOST 请求对 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 后,才能提供此角色。“管理员”角色可以执行“所有者”角色所能执行的所有操作,但不包括将成员设为所有者或删除群组的操作。一个群组可以有多个“所有者”和“管理员”成员。
  • 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。有关“成员”、“所有者”和“管理员”角色的信息,请参阅管理帮助中心

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 是群组的唯一 idmemberKey 是已删除用户或群组成员的主电子邮件地址或唯一 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 状态代码

删除成员后:

  • 移除的成员无法再接收发送到此群组的电子邮件。
  • 从群组中移除成员不会删除其账号。
  • 如果删除群组所有者,该群组仍然会正常工作。作为管理员,您可以管理群组或将所有权分配给其他群组成员