本指南介绍了如何对 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 凭据,并将凭据保存为名为
client_secrets.json
的 JSON 文件,保存到本地目录中。 - 如需以 Chat 应用的身份进行身份验证,请创建服务账号凭据,并将凭据保存为名为
credentials.json
的 JSON 文件。
- 如需以 Chat 用户身份进行身份验证,请创建 OAuth 客户端 ID 凭据,并将凭据保存为名为
- 根据您是要以用户身份还是以 Chat 应用的身份进行身份验证, 选择授权范围。
- 已通过身份验证的用户或发起调用的 Chat 应用所属的 Google Chat 聊天室。如需以 Chat 应用的身份进行身份验证,请将 Chat 应用添加到聊天室。
Python
- 拥有对 Google Chat 访问权限的商务版或企业版 Google Workspace 账号。
- 设置环境:
- 创建 Google Cloud 项目。
- 配置 OAuth 同意屏幕。
- 启用和配置 Google Chat API,为 Chat 应用提供名称、图标和说明。
- 安装 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
参考文档。