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 请求使用 NNNNN 作为 groupKey

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 是群组的电子邮件地址或群组的唯一 idmemberKey 是用户或群组的主电子邮件地址、用户的别名电子邮件地址或用户的唯一 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 是群组的电子邮件地址或群组的唯一 idmemberKey 是用户或群组的主电子邮件地址、用户的别名电子邮件地址或用户的唯一 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": "USER"
   },
   {
    "kind": "directory#member",
    "id": "group member's unique ID",
    "email": "radhe@example.com",
    "role": "MANAGER",
    "type": "USER"
   }
  ],
   "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 状态代码

删除成员后:

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