本指南介绍了如何针对 Google Chat API 的 Membership
资源使用 list()
方法,将聊天室中的成员作为可过滤的分页成员列表列出。
- 使用应用身份验证列出成员会列出 Chat 应用有权访问的聊天室中的成员,但会排除 Chat 应用成员(包括 Chat 应用本身的成员)。
- 使用用户身份验证列出会员资格会列出已通过身份验证的用户有权访问的聊天室中的会员资格。
- 以 Google Workspace 管理员身份列出成员资格(使用管理员权限进行用户身份验证)会列出您 Google Workspace 组织中的所有聊天室中的成员资格。
Membership
资源表示有人为用户或 Google Chat 应用发出了加入聊天室的邀请、用户或 Google Chat 应用已加入聊天室,还是未加入聊天室。
前提条件
Node.js
- 拥有对 Google Chat 访问权限的商务版或企业版 Google Workspace 账号。
- 设置您的环境:
- 创建 Google Cloud 项目。
- 配置 OAuth 同意屏幕。
- 启用和配置 Google Chat API,为 Chat 应用提供名称、图标和说明。
- 安装 Node.js Cloud 客户端库。
- 根据您要在 Google Chat API 请求中采用的身份验证方式创建访问凭据:
- 如需以 Chat 用户身份进行身份验证,请创建 OAuth 客户端 ID 凭据,并将凭据以 JSON 文件 (
client_secrets.json
) 的形式保存到本地目录。 - 如需以 Chat 应用的身份进行身份验证,请创建服务账号凭据并将凭据保存为名为
credentials.json
的 JSON 文件。
- 如需以 Chat 用户身份进行身份验证,请创建 OAuth 客户端 ID 凭据,并将凭据以 JSON 文件 (
- 根据您是要以用户身份还是以 Chat 应用的身份进行身份验证, 选择授权范围。
- 已通过身份验证的用户或发起调用的 Chat 应用所属的 Google Chat 聊天室。如需以 Chat 应用的身份进行身份验证,请将 Chat 应用添加到聊天室。
Python
- 拥有对 Google Chat 访问权限的商务版或企业版 Google Workspace 账号。
- 设置环境:
- 创建 Google Cloud 项目。
- 配置 OAuth 权限请求页面。
- 为您的 Chat 应用启用和配置 Google Chat API,并为其指定一个名称、图标和说明。
- 安装 Python Cloud 客户端库。
- 根据您要在 Google Chat API 请求中采用的身份验证方式创建访问凭据:
- 如需以 Chat 用户身份进行身份验证,请创建 OAuth 客户端 ID 凭据,并将凭据保存为名为
client_secrets.json
的 JSON 文件,保存到本地目录中。 - 如需以 Chat 应用的身份进行身份验证,请创建服务账号凭据并将凭据保存为名为
credentials.json
的 JSON 文件。
- 如需以 Chat 用户身份进行身份验证,请创建 OAuth 客户端 ID 凭据,并将凭据保存为名为
- 根据您是要以用户身份还是以 Chat 应用的身份进行身份验证, 选择授权范围。
- 已通过身份验证的用户或发起调用的 Chat 应用所属的 Google Chat 聊天室。如需以 Chat 应用的身份进行身份验证,请将 Chat 应用添加到聊天室。
Java
- 有权访问 Google Chat 的 Google Workspace 商务版或企业版账号。
- 设置环境:
- 创建 Google Cloud 项目。
- 配置 OAuth 同意屏幕。
- 启用和配置 Google Chat API,为 Chat 应用提供名称、图标和说明。
- 安装 Java Cloud 客户端库。
- 根据您要在 Google Chat API 请求中采用的身份验证方式创建访问凭据:
- 如需以 Chat 用户身份进行身份验证,请创建 OAuth 客户端 ID 凭据,并将凭据保存为名为
client_secrets.json
的 JSON 文件,保存到本地目录中。 - 如需以 Chat 应用的身份进行身份验证,请创建服务账号凭据并将凭据保存为名为
credentials.json
的 JSON 文件。
- 如需以 Chat 用户身份进行身份验证,请创建 OAuth 客户端 ID 凭据,并将凭据保存为名为
- 根据您是要以用户身份还是以 Chat 应用的身份进行身份验证, 选择授权范围。
- 已通过身份验证的用户或发起调用的 Chat 应用所属的 Google Chat 聊天室。如需以 Chat 应用的身份进行身份验证,请将 Chat 应用添加到聊天室。
Apps 脚本
- 有权访问 Google Chat 的 Google Workspace 商务版或企业版账号。
- 设置环境:
- 创建 Google Cloud 项目。
- 配置 OAuth 同意屏幕。
- 启用和配置 Google Chat API,为 Chat 应用提供名称、图标和说明。
- 创建一个独立的 Apps 脚本项目,然后开启高级聊天服务。
- 在本指南中,您必须使用用户身份验证或应用身份验证。如需以 Chat 应用的身份进行身份验证,请创建服务账号凭据。如需了解相关步骤,请参阅作为 Google Chat 应用进行身份验证和授权。
- 根据您是要以用户身份还是以 Chat 应用的身份进行身份验证, 选择授权范围。
- 已通过身份验证的用户或发起调用的 Chat 应用所属的 Google Chat 聊天室。如需以 Chat 应用的身份进行身份验证,请将 Chat 应用添加到聊天室。
在经过用户身份验证的聊天室中列出成员
如需列出经过身份验证的用户有权访问的聊天室中的用户、Google 群组和 Chat 应用,请在请求中传递以下内容:
- 使用用户身份验证时,请指定
chat.memberships.readonly
或chat.memberships
授权范围。 - 调用
ListMemberships()
方法。 - 如需列出 Google 群组,请将查询参数
showGroups
设置为true
。
以下示例列出了对经过身份验证的用户可见的 Google 群组、真人和应用成员。
Node.js
Python
Java
Apps 脚本
如需运行此示例,请将 SPACE_NAME
替换为聊天室的 name
字段中的 ID。您可以通过调用 ListSpaces()
方法或从聊天室的网址中获取 ID。
Google Chat API 会返回指定聊天室中的 Google 群组成员、用户成员和应用成员的列表。
在进行应用身份验证的聊天室中列出成员
如需列出经过身份验证的应用有权访问的聊天室中的用户和 Chat 应用,请在请求中传递以下内容:
- 使用应用身份验证时,请指定
chat.bot
授权范围。 - 调用
ListMemberships()
方法。 - 如需列出 Google 群组,请将查询参数
showGroups
设置为true
。
以下示例列出了 Chat 应用可见的聊天室成员(而非聊天室管理员):
Node.js
Python
Java
Apps 脚本
如需运行此示例,请将 SPACE_NAME
替换为聊天室的 name
字段中的 ID。您可以通过调用 ListSpaces()
方法或从聊天室的网址中获取此 ID。
Google Chat API 会返回指定聊天室中的人类聊天室成员(不包括聊天室管理员)的列表。
将成员列为 Google Workspace 管理员
如果您是 Google Workspace 管理员,则可以调用 ListMemberships()
方法来列出 Google Workspace 组织中任何聊天室的成员资格。Chat API 仅返回贵组织中的用户(内部和外部用户)或 Google 群组的成员资格,因此会忽略任何 Chat 应用的成员资格。
如需以 Google Workspace 管理员身份调用此方法,请执行以下操作:
- 使用用户身份验证调用该方法,并指定支持使用管理员权限调用该方法的授权范围。
- 在请求中,指定以下查询参数:
- 将
useAdminAccess
设置为true
。 - 如需仅返回用户,请将
member.type
的filter
设置为等于HUMAN
。 - 如需返回用户和群组,请将
member.type
的filter
设为不等于BOT
AND
showGroups
等于true
。
- 将
如需了解详情和示例,请参阅以 Google Workspace 管理员身份管理 Google Chat 聊天室。
自定义分页或过滤列表
如需列出成员,请传递以下查询参数以对列出的成员进行自定义分页或过滤:
pageSize
:要返回的会员资格数量上限。服务返回的数量可能小于此值。如果未指定,则最多返回 100 个空格。最大值为 1,000;大于 1,000 的值会自动更改为 1,000。pageToken
:从上一个列出聊天室的调用接收的页面令牌。 提供此令牌以检索后续页面。进行分页时,过滤条件值应与提供页面令牌的调用相一致。传递其他值可能会导致意外结果。filter
:查询过滤条件。需要用户身份验证。如需了解支持的查询详情,请参阅ListMembershipsRequest
参考文档。