本指南介绍了如何对 Google Chat API 的 Space
资源使用 list()
方法来列出聊天室。列出聊天室会返回可分页且可过滤的聊天室列表。
Space
资源表示用户和 Chat 应用可以发送消息、共享文件和协作的场所。聊天室有以下几种类型:
- 私信 (DM) 是指两位用户或用户与 Chat 应用之间的对话。
- 群聊是三位或更多用户与 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 应用的身份进行身份验证, 选择授权范围。
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 应用的身份进行身份验证, 选择授权范围。
Java
- 有权访问 Google Chat 的 Google Workspace 商务版或企业版账号。
- 设置您的环境:
- 创建 Google Cloud 项目。
- 配置 OAuth 同意屏幕。
- 启用和配置 Google Chat API,为 Chat 应用提供名称、图标和说明。
- 安装 Java Cloud 客户端库。
- 根据您希望在 Google Chat API 请求中进行身份验证的方式创建访问凭据:
- 如需以 Chat 用户身份进行身份验证,请创建 OAuth 客户端 ID 凭据,并将凭据以 JSON 文件 (
client_secrets.json
) 的形式保存到本地目录。 - 如需以 Chat 应用的身份进行身份验证,请创建服务账号凭据,并将凭据保存为名为
credentials.json
的 JSON 文件。
- 如需以 Chat 用户身份进行身份验证,请创建 OAuth 客户端 ID 凭据,并将凭据以 JSON 文件 (
- 根据您是要以用户身份还是以 Chat 应用的身份进行身份验证, 选择授权范围。
Apps 脚本
- 拥有对 Google Chat 访问权限的商务版或企业版 Google Workspace 账号。
- 设置环境:
- 创建 Google Cloud 项目。
- 配置 OAuth 同意屏幕。
- 启用和配置 Google Chat API,为 Chat 应用提供名称、图标和说明。
- 创建一个独立的 Apps 脚本项目,然后开启高级聊天服务。
- 在本指南中,您必须使用用户身份验证或应用身份验证。如需以 Chat 应用的身份进行身份验证,请创建服务账号凭据。如需了解具体步骤,请参阅以 Google Chat 应用身份进行身份验证和授权。
- 根据您是要作为用户还是 Chat 应用进行身份验证, 选择授权范围。
列出需要用户身份验证的聊天室
如需列出 Google Chat 中的聊天室,请在请求中传递以下内容:
- 使用用户身份验证时,请指定
chat.spaces.readonly
或chat.spaces
授权范围。 - 调用
ListSpaces()
方法。
以下示例列出了经过身份验证的用户可以看到的已命名聊天室(但不包括过滤掉的群聊和私信):
Node.js
Python
Java
Apps 脚本
Chat API 会返回分页聊天室列表。
列出需要应用身份验证的聊天室
如需列出 Google Chat 中的聊天室,请在请求中传递以下内容:
- 使用应用身份验证时,请指定
chat.bot
授权范围。 - 调用
ListSpaces()
方法。
以下示例列出了 Chat 应用可见的命名聊天室(但不包括群聊和私信):
Node.js
Python
Java
Apps 脚本
Chat API 会返回分页聊天室列表。
自定义分页或过滤列表
如需在 Google Chat 中列出聊天室,请传递以下可选查询参数,以自定义列出聊天室的分页或过滤列出聊天室:
pageSize
:要返回的空格数上限。服务返回的数量可能小于此值。如果未指定,则最多返回 100 个空格。最大值为 1,000;大于 1,000 的值会自动更改为 1,000。pageToken
:从上一个列出聊天室的调用接收的页面令牌。 提供此令牌以检索后续页面。进行分页时,过滤条件值应与提供页面令牌的调用相一致。传递不同的值可能会导致意外结果。filter
:查询过滤条件。如需了解支持的查询详情,请参阅ListSpacesRequest
参考文档。