本指南将介绍如何使用
setUp()
方法(针对 Google Chat API 的 Space
资源)来设置 Google Chat
空间。设置聊天室会创建聊天室并向其中添加指定用户。
Space
资源表示用户和 Chat 应用可以发送消息、共享文件和协作的场所。聊天室分为以下几种类型:
- 私信 (DM) 是指两位用户或一位用户与 Chat 应用。
- 群聊是三位或更多用户之间的对话, 聊天应用。
- 命名聊天室是用户发送消息、共享文件和协作的永久性场所。
设置聊天室时,请考虑以下事项:
- 系统会自动将发起调用(经过身份验证)的用户添加到聊天室,因此您可以 就无需在请求中指定用户的成员资格。
- 创建私信 (DM) 时,如果两位用户之间存在私信, 系统会返回私信否则,系统会创建直接消息。
- 创建群聊时,如果请求中提供的所有成员资格都未成功添加到群聊中(例如,存在权限问题),则系统可能会创建一个空群聊(仅包含发起群聊的用户)。
- 您无法设置包含“话题式回复”的聊天室,也无法添加 Google Workspace。
- 请求中提供的重复成员资格(包括发起调用的用户) 而不是导致请求错误
前提条件
Node.js
- 拥有对 Google Chat 访问权限的商务版或企业版 Google Workspace 账号。
- 设置环境:
- 创建 Google Cloud 项目。
- 配置 OAuth 同意屏幕。
- 启用和配置 Google Chat API,为 Chat 应用提供名称、图标和说明。
- 安装 Node.js Cloud 客户端库。
- 为桌面应用
创建 OAuth 客户端 ID 凭据。如需运行本指南中的示例,请将凭据保存为名为
client_secrets.json
的 JSON 文件,并保存到本地目录。
- <ph type="x-smartling-placeholder"></ph> 选择支持用户身份验证的授权范围。
Python
- Business 或 Enterprise 有权访问以下内容的 Google Workspace 账号: Google Chat。
- 设置环境:
- 创建 Google Cloud 项目。
- 配置 OAuth 同意屏幕。
- 启用并配置 Google Chat API,指定一个名称, 图标和说明。
- 安装 Python Cloud 客户端库。
- <ph type="x-smartling-placeholder"></ph>
为桌面应用创建 OAuth 客户端 ID 凭据。如需运行本指南中的示例,请将凭据保存为名为
client_secrets.json
的 JSON 文件,并保存到本地目录。
- 选择支持用户身份验证的授权范围。
Java
- Business 或 Enterprise 有权访问以下内容的 Google Workspace 账号: Google Chat。
- 设置您的环境:
<ph type="x-smartling-placeholder">
- </ph>
- 创建 Google Cloud 项目。
- 配置 OAuth 同意屏幕。
- 启用和配置 Google Chat API,为 Chat 应用提供名称、图标和说明。
- 安装 Java Cloud 客户端库。
- <ph type="x-smartling-placeholder"></ph>
为桌面应用创建 OAuth 客户端 ID 凭据。如需运行本指南中的示例,请将凭据保存为名为
client_secrets.json
的 JSON 文件,并保存到本地目录。
- 选择支持用户身份验证的授权范围。
Apps 脚本
- Business 或 Enterprise 有权访问以下内容的 Google Workspace 账号: Google Chat。
- 设置您的环境:
<ph type="x-smartling-placeholder">
- </ph>
- 创建 Google Cloud 项目。
- 配置 OAuth 同意屏幕。
- 启用并配置 Google Chat API,指定一个名称, 图标和说明。
- 创建一个独立的 Apps 脚本项目, 然后启用高级聊天服务。
- <ph type="x-smartling-placeholder"></ph> 选择支持用户身份验证的授权范围。
设置聊天室
如需设置聊天室,请在请求中传递以下内容:
- 指定
chat.spaces.create
或chat.spaces
授权范围。 - 调用
SetUpSpace()
方法。 - 将
space
作为Space
所有必填字段,例如displayName
或spaceType
。 - 将
memberships
作为Membership
实例的数组传递。对于每个实例:- 指定
users/{user}
以将真人用户添加为聊天室成员,其中{user}
是 People API 中的person
的{person_id}
,或 Directory API 中的user
的 ID。例如,如果 People API 人员resourceName
为people/123456789
,您可以通过添加users/123456789
作为member.name
的成员资格,将该用户添加到聊天室。 - 指定
groups/{group}
以将群组添加为聊天室成员,其中{group}
是您要为其创建成员资格的群组 ID。您可以使用 Cloud Identity API 检索群组的 ID。例如,如果 Cloud Identity API 返回名称为groups/123456789
的群组,则将membership.groupMember.name
设置为groups/123456789
。您无法将 Google 群组添加到群聊或私信中,只能添加到命名聊天室中。
- 指定
如需在发起通话的用户与其他真人用户之间创建私信,请在请求中指定真人用户的成员资格。
如需在发起通话的用户和发起通话的应用之间创建私信,请将
space.singleUserBotDm
到 true
,并且不指定任何成员资格。您只能使用此方法通过通话应用设置私信。如需将通话应用添加为聊天室的成员或两个真人用户之间的现有私信的成员,请参阅创建成员资格。
以下示例会创建一个命名聊天室,并为两名真人用户(经过身份验证的用户和另一名用户)创建一个聊天室成员资格。
Node.js
Python
Java
Apps 脚本
如需运行该示例,请替换以下内容:
DISPLAY_NAME
:新聊天室的显示名称。USER_NAME
:要为其添加会员资格的其他用户的 ID。
如需前往聊天室,请使用聊天室的资源 ID 构建聊天室的网址。
你可以在 Google Chat 回复中从聊天室“name
”获取资源 ID
正文。例如,如果聊天室的 name
为 spaces/1234567
,您可以使用以下网址前往该聊天室:https://mail.google.com/chat/u/0/#chat/space/1234567
。
相关主题
- 创建聊天室。
- 获取聊天室的详细信息。
- 列出聊天室。
- 更新聊天室。
- 删除聊天室。
- 查找私信聊天室。
- 让特定用户可以发现聊天室。