本页介绍了如何创建 HTTP Chat 应用。 您可以通过不同的方式实现此架构。在 Google Cloud 上 可以使用 Cloud Functions、Cloud Run 和 App Engine。在本快速入门中,您将编写并部署一个 Cloud Functions 函数,供 Chat 应用使用来回复用户的消息。
采用这种架构时,您可以配置 Chat 以使用 HTTP 与 Google Cloud 或本地服务器集成,如下图所示:
在上图中,用户与 HTTP Chat 应用具有以下信息流:
- 用户在 Chat 中向 聊天应用(可通过私信或 Chat 聊天室。
- HTTP 请求发送到 Web 服务器,该服务器可以是云 包含 Chat 应用的本地系统 逻辑。
- (可选)Chat 应用逻辑可以与 Google Workspace 服务(例如 Google 日历和 Google 表格)、其他 Google 服务 (如地图、YouTube 和 Vertex AI)或其他网络服务(如项目 管理系统或工单工具)。
- Web 服务器会将 HTTP 响应发回给 Chat 中的 Chat 应用服务。
- 系统会将响应传递给用户。
- (可选)Chat 应用可以调用 用于异步发布消息或执行其他任务的 操作。
由于这些 Chat 应用可以使用不同的编程语言进行设计,因此您可以灵活使用系统中现有的库和组件。
目标
- 设置环境。
- 创建和部署 Cloud Functions 函数。
- 将应用发布到 Chat。
- 测试应用。
前提条件
- Business 或 Enterprise 有权访问以下内容的 Google Workspace 账号: Google Chat。
- 启用了结算功能的 Google Cloud 项目。如需检查现有项目是否已启用结算功能,请执行以下操作: 请参阅验证 项目的结算状态。如需创建项目并设置结算信息,请参阅创建 Google Cloud 项目。
设置环境
在使用 Google API 之前,您需要先在 Google Cloud 项目中启用这些 API。您可以在单个 Google Cloud 项目中启用一个或多个 API。在 Google Cloud 控制台中,启用 Google Chat API、Cloud Build API、Cloud Functions API。 Cloud Pub/Sub API、Cloud Logging API、Artifact Registry API 和 Cloud Run API。
创建和部署 Cloud Functions 函数
创建并部署一个 Cloud Functions 函数,用于生成包含发件人显示名称和头像图片的 Chat 卡片。当 Chat 应用收到消息时,它会运行该函数并使用卡片进行响应。
如需为 Chat 应用创建和部署函数,请完成以下步骤:
Node.js
在 Google Cloud 控制台中,转到 Cloud Functions 页面:
确保选择了 Chat 应用的项目。
点击
创建函数。在“创建函数”页面上,设置您的函数:
- 在环境中,选择第 2 代。
- 在函数名称中,输入
QuickStartChatApp
。 - 在区域中,选择一个区域。
- 在“身份验证”下,选择需要进行身份验证。
- 点击下一步。
在运行时中,选择最新版本的 Node.js。
在源代码中,选择內嵌编辑器。
在入口点中,删除默认文本并输入
avatarApp
。将
index.js
的内容替换为以下代码:点击部署。
Python
在 Google Cloud 控制台中,转到 Cloud Functions 页面:
确保选择了 Chat 应用的项目。
点击
创建函数。在“创建函数”页面上,设置您的函数:
- 在环境中,选择第 2 代。
- 在函数名称中,输入
QuickStartChatApp
。 - 在区域中,选择一个区域。
- 在“身份验证”下,选择需要进行身份验证。
- 点击下一步。
在运行时中,选择最新版本的 Python。
在源代码中,选择内嵌编辑器。
在入口点中,删除默认文本,然后输入
avatar_app
。将
main.py
的内容替换为以下代码:点击部署。
Java
在 Google Cloud 控制台中,转到 Cloud Functions 页面:
确保 Chat 应用的项目是 已选择。
点击
创建函数。在“创建函数”页面上,设置您的函数:
- 在环境中,选择第 2 代。
- 在函数名称中,输入
QuickStartChatApp
。 - 在区域中,选择一个区域。
- 在“身份验证”下,选择需要进行身份验证。
- 点击下一步。
在运行时中,选择最新版本的 Java。
在源代码中,选择內嵌编辑器。
在入口点中,删除默认文本,然后输入
App
。将
src/main/java/com/example/Example.java
改名为src/main/java/App.java
。将
App.java
的内容替换为以下代码:将
pom.xml
的内容替换为以下代码:点击部署。
Cloud Functions 详情页面随即打开,您的函数会显示两个 进度指示器:一个用于构建,一个用于服务。当两个进度指示器消失并被对勾标记取代时,表示您的函数已部署且已准备就绪。
授权 Google Chat 调用您的函数
如需授权 Google Chat 调用您的函数,请添加 Google Chat 具有 Cloud Run Invoker 角色的服务账号。
在 Google Cloud 控制台中,转到 Cloud Run 页面。
在 Cloud Run 服务列表中,选中接收消息旁边的复选框 函数。(请勿点击函数本身。)
点击权限。权限面板随即会打开。
点击添加主账号。
在新主账号中,输入
chat@system.gserviceaccount.com
。在选择角色中,依次选择 Cloud Run > Cloud Run Invoker。
点击保存。
将应用发布到 Google Chat
部署 Cloud Functions 函数后,请按照以下步骤将其转换为 Google Chat 应用:
在 Google Cloud 控制台中,依次点击“菜单”图标 > Cloud Functions。
请务必选择启用了 Cloud Functions 的项目。
在函数列表中,点击 QuickStartChatApp。
点击触发器标签页。
在 HTTPS 下,复制网址。
搜索“Google Chat API”,点击 Google Chat API,然后点击管理。
点击配置,然后设置 Google Chat 应用:
- 在应用名称中,输入
Quickstart App
。 - 在头像网址中,输入
https://developers.google.com/chat/images/quickstart-app-avatar.png
。 - 在说明中,输入
Quickstart app
。 - 在功能下,选择接收 1 对 1 消息,然后 加入聊天室和群组对话。
- 在连接设置下,选择 HTTP 端点网址,然后将 Cloud Functions 函数触发器的网址粘贴到该框中。
- 在身份验证受众群体中,选择 HTTP 端点网址。
- 在公开范围下,选择 将此 Google Chat 应用提供给特定人员并 群组,然后输入您的电子邮件地址。
- 在日志下,选择将错误记录到 Logging。
- 在应用名称中,输入
点击保存。
Chat 应用已准备好接收和回复 Chat 中的消息。
测试您的 Chat 应用
如需测试 Chat 应用,请使用 Chat 应用打开私信聊天室并发送消息:
使用您在将自己添加为受信任的测试人员时提供的 Google Workspace 账号打开 Google Chat。
- 点击 发起新对话。
- 在添加一人或多人字段中,输入 Chat 应用。
从结果中选择您的 Chat 应用。直接客户 消息会打开。
- 在与应用来往的新私信中,输入
Hello
并按enter
。
Chat 应用的响应包含一个卡片消息,其中显示了发件人的姓名和头像图片,如以下图片所示:
如需添加可信测试员,并详细了解如何测试互动功能,请参阅 测试适用于以下应用的互动功能: Google Chat 应用。
问题排查
当 Google Chat 应用或 card 会返回错误, 聊天界面会显示一条内容为“出了点问题”的消息。 或“无法处理您的请求”。有时,Chat 界面不会显示任何错误消息,但 Chat 应用或卡片会产生意外结果;例如,卡片消息可能不会显示。
虽然 Chat 界面中可能不会显示错误消息, 提供描述性错误消息和日志数据,以帮助您修正错误 启用 Chat 应用的错误日志记录时。如需有关查看、调试和修复错误的帮助,请参阅排查和修复 Google Chat 错误。
清理
为避免系统因 我们建议您删除 Cloud 项目中。
-
在 Google Cloud 控制台中,前往管理资源页面。点击
菜单 > IAM 和管理员
> 管理资源。
<ph type="x-smartling-placeholder"></ph> 前往 Resource Manager
- 在项目列表中,选择要删除的项目,然后点击 删除 。
- 在对话框中输入项目 ID,然后点击关停以删除项目 项目。
相关主题
如需为您的 Chat 应用添加更多功能,请参阅 以下: