本指南介绍了如何对 Google Chat API 的 Message
资源使用 update()
方法来更新聊天室中的文本消息或卡片消息。更新消息以更改消息属性,例如
或卡片的内容你还可以将短信
卡片消息,或在短信中附加卡片。
在 Chat API 中,Chat 消息由 Message
资源表示。虽然 Chat 用户只能发送包含文本的消息,但 Chat 应用可以使用许多其他即时通讯功能,包括显示静态或交互式界面、从用户收集信息以及私下传送消息。详细了解消息功能
功能的详细信息,请参阅
Google Chat 消息概览。
前提条件
Node.js
- Business 或 Enterprise 有权访问以下内容的 Google Workspace 账号: Google Chat。
- 设置您的环境:
- 创建 Google Cloud 项目。
- 配置 OAuth 同意屏幕。
- 启用和配置 Google Chat API,为 Chat 应用提供名称、图标和说明。
- 安装 Node.js Cloud 客户端库。
- 根据您要在 Google Chat API 请求中采用的身份验证方式创建访问凭据:
- 如需以 Chat 用户身份进行身份验证,请按以下步骤操作:
创建 OAuth 客户端 ID
凭据,然后将凭据保存为名为
client_secrets.json
复制到您的本地目录。 - 如需以 Chat 应用的身份进行身份验证,请执行以下操作:
创建服务账号
凭据,然后将凭据保存为名为
credentials.json
。
- 如需以 Chat 用户身份进行身份验证,请按以下步骤操作:
创建 OAuth 客户端 ID
凭据,然后将凭据保存为名为
- 根据您是要以用户身份还是以 Chat 应用的身份进行身份验证,选择授权范围。
Python
- 拥有对 Google Chat 访问权限的商务版或企业版 Google Workspace 账号。
- 设置您的环境:
- 创建 Google Cloud 项目。
- 配置 OAuth 同意屏幕。
- 启用并配置 Google Chat API,指定一个名称, 图标和说明。
- 安装 Python Cloud 客户端库。
- 根据您希望在 Google Chat API 中进行身份验证的方式创建访问凭据
请求:
- 如需以 Chat 用户身份进行身份验证,请按以下步骤操作:
创建 OAuth 客户端 ID
凭据,然后将凭据保存为名为
client_secrets.json
复制到您的本地目录。 - 如需以 Chat 应用的身份进行身份验证,请创建服务账号凭据,并将凭据保存为名为
credentials.json
的 JSON 文件。
- 如需以 Chat 用户身份进行身份验证,请按以下步骤操作:
创建 OAuth 客户端 ID
凭据,然后将凭据保存为名为
- 选择授权范围取决于您是想以用户身份还是 Chat 应用。
Java
- 拥有对 Google Chat 访问权限的商务版或企业版 Google Workspace 账号。
- 设置环境:
- 创建 Google Cloud 项目。
- 配置 OAuth 同意屏幕。
- 启用并配置 Google Chat API,指定一个名称, 图标和说明。
- 安装 Java Cloud 客户端库。
- 根据您希望在 Google Chat API 中进行身份验证的方式创建访问凭据
请求:
- 如需以 Chat 用户身份进行身份验证,请按以下步骤操作:
创建 OAuth 客户端 ID
凭据,然后将凭据保存为名为
client_secrets.json
复制到您的本地目录。 - 如需以 Chat 应用的身份进行身份验证,请执行以下操作:
创建服务账号
凭据,然后将凭据保存为名为
credentials.json
。
- 如需以 Chat 用户身份进行身份验证,请按以下步骤操作:
创建 OAuth 客户端 ID
凭据,然后将凭据保存为名为
- 根据您是要以用户身份还是以 Chat 应用的身份进行身份验证,选择授权范围。
Apps 脚本
- Business 或 Enterprise 有权访问以下内容的 Google Workspace 账号: Google Chat。
- 设置您的环境:
- 创建 Google Cloud 项目。
- 配置 OAuth 同意屏幕。
- 启用并配置 Google Chat API,指定一个名称, 图标和说明。
- 创建一个独立的 Apps 脚本项目,然后开启高级聊天服务。
- 在本指南中,您必须使用用户 或应用身份验证。如需以 Chat 应用的身份进行身份验证,请创建 服务账号凭据。如需了解具体步骤,请参阅以 Google Chat 应用身份进行身份验证和授权。
- 选择授权范围取决于您是想以用户身份还是 Chat 应用。
代表用户更新消息
借助用户身份验证, 只能更新消息文本。
要更新包含用户身份验证的消息,请将以下内容传入您的 请求:
- 指定
chat.messages
授权范围。 - 调用
UpdateMessage()
方法。 - 将
message
作为Message
替换为以下内容:name
字段设置为要更新的消息,其中包含聊天室 ID 和消息 ID。- 使用新文本设置的
text
字段。
- 传递值为
text
的updateMask
。
如果更新后的消息 卡片消息, 然后,文字会附加到卡片(卡片会继续显示)前面。
下面介绍了如何更新消息,或在卡片消息前面添加短信(需要用户身份验证):
Node.js
Python
Java
Apps 脚本
如需运行此示例,请替换以下内容:
SPACE_NAME
:聊天室的name
中的 ID。您可以通过调用ListSpaces()
方法或从聊天室的网址中获取 ID。MESSAGE_NAME
:消息name
中的 ID。您可以在创建 与 Chat API 异步发送消息,或使用 自定义名称 分配给消息。
Chat API 会返回一个 Message
实例,其中详细说明了更新的消息。
以 Chat 应用的身份更新消息
借助应用身份验证,您可以更新消息的文本和卡片。
如需使用应用身份验证更新消息,请在请求中传递以下内容:
- 指定
chat.bot
授权范围。 - 调用
UpdateMessage()
方法。 - 将
message
作为Message
替换为以下内容:name
字段设置为要更新的消息,其中包含聊天室 ID 和消息 ID。- 使用新文本设置的
text
字段(如果需要更新)。 - 使用新卡片设置的
cardsV2
字段(如果需要更新)。
- 将
updateMask
与字段列表一起传递至更新,例如text
,以及cardsV2
。
如果更新后的消息 卡片消息,且文字会更新, 更新后的文字会附加到卡片(会继续显示)前面。 如果更新后的消息 短信和卡片 随后,更新后的卡片会附加到 display)。
以下是使用 应用身份验证:
Node.js
Python
Java
Apps 脚本
如需运行此示例,请替换以下内容:
SPACE_NAME
:聊天室的name
中的 ID。您可以通过调用ListSpaces()
方法或从聊天室的网址中获取 ID。MESSAGE_NAME
:消息的 IDname
。 您可以通过以下方式获取 ID:使用 Chat API 异步创建消息后从返回的响应正文中获取,或者使用在创建消息时分配给消息的自定义名称获取。
Chat API 会返回一个 Message
实例,其中详细说明了更新的消息。
相关主题
- 设置消息格式。
- 删除消息。
- 获取有关消息的详细信息。
- 列出聊天室中的消息。
- 发送消息。