本教程介绍了如何构建 Google Chat 应用,帮助 Google Chat 用户管理其个人和商务联系人。为了收集信息,Chat 应用在卡片消息和对话框中提示用户填写联系表单。
查看 Chat 应用的实际运作方式:
-
图 2. Chat 应用会打开一个对话框,供用户输入联系人相关信息。 -
图 3.Chat 应用会返回一个确认对话框,以便用户在提交之前查看并确认信息。 -
图 4. 用户提交表单后,Chat 应用会发送一条私密短信来确认提交。 -
图 5.Chat 应用还会提示用户通过消息中的卡片添加联系人。
前提条件
- 拥有对 Google Chat 访问权限的商务版或企业版 Google Workspace 账号。
目标
- 以
card
对象的形式设计和构建界面,并在消息和对话框中显示界面。 - 接收和处理用户使用表单输入 widget 提交的信息。
- 发送包含文本、卡片和配件微件的邮件,回复正斜线命令。
架构
Chat 应用是使用 Google Apps 脚本构建的,并使用互动事件来处理和响应 Chat 用户。
以下示例展示了用户通常如何与 Chat 应用互动:
用户打开与 Chat 应用的私信对话,或将 Chat 应用添加到现有聊天室。
Chat 应用会构建并显示联系表单作为
card
对象,以提示用户添加联系人。为了显示联系表单,Chat 应用会通过以下方式回复用户:- 使用包含联系表单的卡片消息回复用“@”提及您的消息和私信。
- 通过打开包含联系表单的对话框来响应斜杠命令
/addContact
。 - 使用包含添加联系人按钮的短信响应斜杠命令
/about
,用户可以点击该按钮打开包含联系表单的对话框。
当系统显示联系表单时,用户会在以下字段和 widget 中输入联系信息:
- 名字和姓氏:接受字符串的
textInput
widget。 - 生日日期:一个仅接受日期的
dateTimePicker
widget。 - 联系人类型:一个包含单选按钮的
selectionInput
widget,可让用户选择并提交单个字符串值(Personal
或Work
)。 - 查看并提交按钮:一个包含
button
widget 的buttonList
数组,用户点击该 widget 即可提交其输入的值。
- 名字和姓氏:接受字符串的
Google Chat 应用会处理
CARD_CLICKED
互动事件,以处理用户输入的值,并在确认卡片中显示这些值。用户查看确认卡片,然后点击提交按钮以最终确定联系信息。
Google Chat 应用会发送一条私信来确认提交。
准备环境
本部分介绍如何为 Chat 应用创建和配置 Google Cloud 项目。
创建 Google Cloud 项目
Google Cloud 控制台
- 在 Google Cloud 控制台中,依次点击“菜单”图标 > IAM 和管理 > 创建项目。
-
在 Project Name 字段中,为项目输入一个描述性名称。
可选:如需修改项目 ID,请点击修改。项目创建后,项目 ID 便无法更改,因此请选择一个在项目生命周期内能满足您需求的 ID。
- 在位置字段中,点击浏览以显示项目的可能位置。然后,点击选择。
- 点击创建。Google Cloud 控制台会转到“信息中心”页面,您的项目会在几分钟内创建完成。
gcloud CLI
在以下任一开发环境中,访问 Google Cloud CLI (gcloud
):
-
Cloud Shell:如需使用已设置 gcloud CLI 的在线终端,请激活 Cloud Shell。
激活 Cloud Shell -
本地 Shell:如需使用本地开发环境,请安装并初始化 gcloud CLI。
如需创建 Cloud 项目,请使用gcloud projects create
命令: 为要创建的项目设置 ID,从而替换 PROJECT_ID。gcloud projects create PROJECT_ID
设置身份验证和授权
Google Chat 应用要求您配置 OAuth 权限请求页面,以便用户可以在 Google Workspace 应用(包括 Google Chat)中授权您的应用。
在本教程中,您部署的 Chat 应用仅供测试和内部使用,因此可以为意见征求界面使用占位符信息。在发布 Chat 应用之前,请将所有占位符信息替换为真实信息。
在 Google Cloud 控制台中,依次点击菜单 > API 和服务 > OAuth 同意屏幕。
在用户类型下,选择内部,然后点击创建。
在应用名称中,输入
Contact Manager
。在用户支持电子邮件地址中,选择您的电子邮件地址或合适的 Google 群组。
在开发者联系信息下方,输入您的电子邮件地址。
点击保存并继续。
在范围页面上,点击保存并继续。(Chat 应用不需要任何 OAuth 范围。)
查看摘要,然后点击返回信息中心。
创建和部署 Chat 应用
在下一部分中,您将复制并更新包含 Chat 应用所需的所有应用代码的整个 Google Apps Script 项目,这样您就不必逐个复制和粘贴文件。
您还可以选择在 GitHub 上查看整个项目。
下面简要介绍了每个文件:
main.gs
处理所有应用逻辑,包括与用户向 Chat 应用发送消息、点击 Chat 应用消息中的按钮或打开和关闭对话框相关的互动事件。
查看
main.gs
代码contactForm.gs
包含用于接收用户表单数据的 widget。这些表单输入 widget 会显示在消息和对话框中显示的卡片中。
查看
contactForm.gs
代码appsscript.json
Apps 脚本清单,用于定义和配置 Chat 应用的 Apps 脚本项目。
查看
appsscript.json
代码
查找您的 Cloud 项目编号和 ID
在 Google Cloud 控制台中,前往您的 Cloud 项目。
依次点击“设置和实用程序”图标 > 项目设置。
记下项目编号和项目 ID 字段中的值。您将在以下几个部分中用到它们。
创建 Apps 脚本项目
如需创建 Apps 脚本项目并将其与 Cloud 项目相关联,请执行以下操作:
- 点击以下按钮,打开 Manage contacts in Google Chat Apps Script 项目。
打开项目 - 点击 Overview(概览)。
- 在概览页面上,点击 复制。
为您的 Apps 脚本项目副本命名:
点击“在 Google Chat 中管理联系人”的副本。
在项目名称中,输入
Contact Manager - Google Chat app
点击重命名。
设置 Apps 脚本项目的 Cloud 项目
- 在 Apps 脚本项目中,点击 项目设置。
- 在 Google Cloud Platform (GCP) 项目下,点击更改项目。
- 在 GCP 项目编号中,粘贴您的 Cloud 项目的项目编号。
- 点击设置项目。Cloud 项目和 Apps 脚本项目现已关联。
创建 Apps 脚本部署
现在所有代码都已就位,接下来部署 Apps 脚本项目。在 Google Cloud 中配置 Chat 应用时,您需要使用部署 ID。
在 Apps 脚本中,打开 Chat 应用的项目。
依次点击 Deploy(部署)> New deployment(新建部署)。
如果尚未选择插件,请点击选择类型旁边的部署类型 ,然后选择插件。
在说明中,输入此版本的说明,例如
Test of Contact Manager
。点击部署。Apps 脚本会报告部署成功,并提供部署 ID。
点击
Copy 复制部署 ID,然后点击 Done。
在 Google Cloud 控制台中配置 Chat 应用
本部分介绍了如何在 Google Cloud 控制台中使用 Chat 应用的相关信息(包括您刚刚通过 Apps Script 项目创建的部署的 ID)配置 Google Chat API。
在 Google Cloud 控制台中,依次点击菜单 > 更多产品 > Google Workspace > 产品库 > Google Chat API > 管理 > 配置。
在应用名称中,输入
Contact Manager
。在头像网址中,输入
https://developers.google.com/chat/images/contact-icon.png
。在说明中,输入
Manage your personal and business contacts
。点击启用互动功能切换开关,将其切换到开启位置。
在功能下,选中接收一对一消息和加入聊天室和群组对话复选框。
在连接设置下,选择 Apps 脚本。
在部署 ID 中,粘贴您在创建 Apps 脚本部署时在上一部分中复制的 Apps 脚本部署 ID。
在斜杠命令下,设置斜杠命令
/about
和/addContact
:- 点击添加斜杠命令以设置第一个斜杠命令。
- 在名称中,输入
/about
。 - 在命令 ID 中,输入
1
。 - 在说明中,输入
Learn how to use this Chat app to manage your contacts
。 - 选择打开对话框。
- 点击完成。
- 点击添加斜杠命令以设置另一个斜杠命令。
- 在名称中,输入
/addContact
- 在命令 ID 中,输入
2
。 - 在说明中,输入
Submit information about a contact
。 - 选择打开对话框。
- 点击完成。
在公开范围下方,选中面向 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
斜线命令。聊天应用使用文本消息和显示Add a contact
的配件 widget 按钮进行回复。您可以点击该按钮,打开包含联系表单的对话框。 - 向 Chat 应用发送不带斜杠命令(例如
Hello
)的私信。Chat 应用会回复一条文本和一张包含联系表单的卡片。
- 使用
清理
为避免系统因本教程中使用的资源向您的 Google Cloud 账号收取费用,我们建议您删除该 Cloud 项目。
- 在 Google Cloud 控制台中,前往管理资源页面。依次点击菜单 > IAM 和管理> 管理资源。
- 在项目列表中,选择要删除的项目,然后点击删除 。
- 在对话框中输入项目 ID,然后点击关闭以删除项目。