本教程将展示如何构建一个 Google Chat 扩展应用,以帮助 Google Chat 用户管理个人和工作联系人。为了收集信息,Chat 扩展应用会提示用户在卡片消息和对话框中填写联系人表单。
请观看 Chat 扩展应用的实际运行情况:
-
图 1.Chat 扩展应用会使用文本消息和按钮来响应斜杠命令 /about,该按钮可打开联系人表单。 -
图 2.Chat 扩展应用会打开一个对话框,用户可以在其中输入联系人的相关信息。 -
图 3.Chat 扩展应用会返回一个确认对话框,以便用户在提交之前查看并确认信息。 -
图 4.用户提交表单后,Chat 扩展应用会发送一条私密文本消息来确认提交。 -
图 5.Chat 扩展应用还会提示用户从消息中的卡片添加联系人。
前提条件
- 拥有可访问 Google Chat的 Google Workspace商务版或企业版账号。
- 创建 Google Cloud 项目。
目标
- 将界面 (UI) 设计和构建
为
card对象,并在消息和对话框中显示界面。 - 接收和处理用户使用 表单输入微件提交的信息。
- 使用包含文本、卡片和辅助微件的消息来响应命令。
架构
Chat 扩展应用是在 Google Apps 脚本中构建的,并使用 互动事件来处理 和响应 Chat 用户。
以下内容展示了用户通常如何与 Chat 扩展应用互动:
用户打开与 Chat 扩展应用的私信对话,或将 Chat 扩展应用添加到现有聊天室。
Chat 扩展应用会构建并显示联系人表单作为
card对象,以提示用户添加联系人。为了显示联系人表单,Chat 扩展应用会通过以下方式响应用户:- 使用包含联系人表单的卡片消息来响应 @提及和私信。
- 通过打开包含联系人表单的对话框来响应斜杠命令
/addContact。 - 使用包含添加联系人 按钮的文本消息来响应斜杠命令
/about,用户可以点击该按钮来打开包含联系人表单的对话框。
当用户看到联系人表单时,会在以下字段和微件中输入联系人信息:
- 名字和姓氏:一个
textInput接受字符串的微件。 - 出生日期:一个仅接受日期的
dateTimePicker微件。 - 联系人类型:一个
selectionInput单选按钮微件,可让用户选择并提交单个字符串 值(Personal或Work)。 - 查看并提交 按钮:一个
buttonList包含button微件的 数组,用户点击该微件即可提交输入的值。
- 名字和姓氏:一个
Google Chat 扩展应用会处理
CARD_CLICKED互动事件,以处理用户输入的值,并在确认卡片中显示这些值。用户查看确认卡片,然后点击提交 按钮以最终确定联系人信息。
Google Chat 应用会发送一条私密文本消息来确认提交。
准备环境
本部分将介绍如何为 Chat 应用配置 Google Cloud 项目。
在 Google API 控制台中打开云项目
如果尚未打开,请打开您打算用于此示例的 Cloud 项目:
- 在 Google API 控制台中,前往选择项目 页面。
- 选择您要使用的 Google Cloud 项目。或者,点击创建项目 ,然后按照屏幕上的说明操作。如果您创建了 Google Cloud 项目,可能需要为该项目启用结算功能。
设置身份验证和授权
Google Chat 扩展应用要求您配置一 个 OAuth 权限请求页面,以便 用户可以在 Google Workspace 应用(包括 Google Chat)中授权您的应用。
在本教程中,您部署的 Chat 扩展应用仅用于测试和内部使用,因此可以使用占位符信息作为权限请求页面。在发布 Chat 扩展应用之前,请将所有占位符信息替换为真实信息。
在 Google API 控制台中,依次点击“菜单”图标 > Google Auth 平台 > 品牌宣传。
如果您已配置 Google Auth 平台,则可以在 以下 OAuth 权限请求页面设置中配置 品牌宣传、 受众群体和 数据访问权限。 如果您看到一条消息,提示 尚未配置 Google Auth 平台, 请点击开始使用:
- 在应用信息 下的应用名称 中,输入
Contact Manager。 - 在用户支持邮箱 中,选择您的电子邮件地址或相应的 Google 群组。
- 点击下一步 。
- 在受众群体 下,选择内部 。如果您无法选择 内部,请选择外部。
- 点击下一步 。
- 在联系信息下,输入一个电子邮件地址,以便在您的项目发生任何更改时 收到通知。
- 点击下一步 。
- 在完成 下,查看 Google API 服务用户数据政策 ,如果您同意该政策,请选择 我同意 Google API 服务:用户数据政策。
- 点击继续 。
- 点击创建 。
- 如果您为用户类型选择了外部 ,请添加测试用户:
- 点击受众群体。
- 在测试用户 下,点击 Add users (添加用户)。
- 输入您的电子邮件地址和任何其他已获授权的测试用户,然后点击保存 。
- 在应用信息 下的应用名称 中,输入
创建和部署 Chat 扩展应用
在以下部分中,您将复制并更新包含 Chat 扩展应用所需的所有应用代码的整个 Apps 脚本项目,因此无需复制和粘贴每个文件。
您还可以选择在 GitHub 上查看整个项目。
以下是每个文件的概览:
main.gs处理所有应用逻辑,包括用户何时向 Chat 应用发送消息、点击 Chat 应用消息中的按钮或打开和关闭对话框的相关互动事件。
查看
main.gs代码contactForm.gs包含从用户那里接收表单数据的微件。这些表单输入微件显示在消息和对话框中显示的卡片中。
查看
contactForm.gs代码appsscript.jsonApps 脚本清单 ,用于定义和配置 Chat 扩展应用的 Apps 脚本项目。
查看
appsscript.json代码
创建 Apps 脚本项目
如需创建 Apps 脚本项目,请执行以下操作:
- 点击以下按钮,打开 Manage contacts in Google Chat (在 Google Chat 中管理联系人)Apps 脚本项目。
打开项目 - 点击 概览。
- 在概览页面上,点击
制作副本。
为 Apps 脚本项目的副本命名:
点击 Copy of Manage contacts in Google Chat (在 Google Chat 中管理联系人的副本)。
在项目标题中,输入
Contact Manager - Google Chat app点击重命名 。
将来,如果您想使用某些 Google API 或发布应用,则必须将云项目与 Apps 脚本项目相关联。对于本指南,您无需执行此操作。如需了解详情,请参阅Google Cloud 项目指南。
创建 Apps 脚本部署
现在所有代码都已就位,接下来请部署 Apps 脚本项目。在 Google Cloud 中配置 Chat 扩展应用时,您将使用部署 ID。
在 Apps 脚本中,打开 Chat 扩展应用的项目。
依次点击部署 > 新建部署 。
如果尚未选择插件 ,请点击 选择类型 旁边的部署类型
,然后选择插件 。
在说明 中,为此版本输入说明,例如
Test of Contact Manager。点击部署 。Apps 脚本会报告部署成功,并提供部署 ID。
点击 复制 以复制 部署 ID,然后点击 完成。
在 Google API 控制台中配置 Chat 扩展应用
本部分将介绍如何在 Google API 控制台中配置 Google Chat API,其中包含有关 Chat 扩展应用的信息,包括您刚刚从 Apps 脚本项目中创建的部署的 ID。
在 Google API 控制台中,依次点击菜单 > API 和服务 > 已启用的 API 和服务 > Google Chat API > 配置。
清除将此 Chat 扩展应用构建为 Google Workspace 插件 。系统会打开一个对话框,要求您确认。在该对话框中,点击停用 。
在应用名称 中,输入
Contact Manager。在头像网址 中,输入
https://developers.google.com/chat/images/contact-icon.png。在说明 中,输入
Manage your personal and business contacts。点击启用互动功能 切换开关,将其切换到开启位置。
在功能 下,选择加入聊天室和群组对话。
在连接设置 下,选择 Apps 脚本 。
在部署 ID中,粘贴您在上一部分创建 Apps 脚本部署时复制的 Apps 脚本部署 ID。
在命令下,设置斜杠命令
/about和/addContact:- 点击 Add a slash command (添加斜杠命令)以设置第一个斜杠命令。
- 在名称中,输入
About。 - 在命令 ID 中,输入
1。 - 在说明 中,输入
Learn how to use this Chat app to manage your contacts。 - 在命令类型 下,选择
Slash command。 - 在斜杠命令的名称中,输入
/about。 - 选择打开对话框 。
- 点击完成 。
- 点击 Add a command (添加命令)以设置另一个斜杠命令。
- 在名称 中,输入
Add a contact。 - 在命令 ID 中,输入
2。 - 在说明 中,输入
Submit information about a contact。 - 在命令类型 下,选择
Slash command。 - 在斜杠命令的名称中,输入
/addContact。 - 选择打开对话框 。
- 点击完成 。
在可见性下,选中 面向 YOUR DOMAIN 中的特定人员和群组提供此 Chat 应用复选框,然后输入您的电子邮件地址。
在日志 下,选择将错误记录到 Logging 。
点击保存 。系统会显示“配置已保存”消息。
Chat 扩展应用已准备就绪,可以在 Chat 中安装和测试。
测试 Chat 扩展应用
如需测试 Chat 扩展应用,请打开与 Chat 扩展应用的私信对话,然后发送一条消息:
使用您在将自己添加为受信任的测试人员时提供的 Google Workspace 账号打开 Google Chat。
- 点击 发起新聊天。
- 在添加 1 位或多位用户 字段中,输入 Chat 扩展应用的名称。
从结果中选择 Chat 扩展应用。系统会打开一条私信。
在与 Chat 扩展应用的新私信对话中, 输入
/addContact,然后按 enter。在打开的对话框中,输入联系人信息:
- 在名字和姓氏 文本字段中,输入一个名称。
- 在出生日期 日期选择器中,选择一个日期。
- 在联系人类型 下,选择工作 或个人 单选按钮。
点击查看并提交 。
在确认对话框中,查看您提交的信息,然后点击提交 。Chat 扩展应用会回复一条文本 消息,内容为
✅ CONTACT NAME has been added to your contacts.。您还可以选择通过以下方式测试和提交联系人表单:
- 使用
/about斜杠命令。Chat 扩展应用会回复一条文本消息和一个辅助微件按钮,内容为Add a contact。您可以点击该按钮来打开包含联系人表单的对话框。 - 向 Chat 扩展应用发送一条不带斜杠命令的私信,例如
Hello。Chat 扩展应用会回复一条文本消息和一张包含联系人表单的卡片。
- 使用
清理
为避免因本教程中使用的 资源导致您的 Google Cloud 账号产生费用,我们建议您删除 云项目。
- 在 Google API 控制台中,前往管理资源 页面。依次点击 菜单 > IAM 和管理 > 管理资源。
- 在项目列表中,选择要删除的项目,然后点击 删除 .
- 在对话框中输入项目 ID,然后点击关停 以删除 项目。