本教程介绍了如何构建 Google Chat 应用,帮助 Google Chat 用户管理其个人和商务联系人。为了收集信息,Chat 应用会提示用户在卡片消息和对话框中填写联系表单。
查看 Chat 应用的实际运作方式:
-
图 1. Chat 应用会使用文本消息和用于打开联系表单的按钮来响应斜杠命令 /about
。 -
图 2. Chat 应用会打开一个对话框,供用户输入联系人相关信息。 -
图 3. Chat 应用会返回一个确认对话框,以便用户在提交之前查看并确认信息。 -
图 4. 用户提交表单后,Chat 应用会发送一条私密短信来确认提交。 -
图 5. Chat 应用还会提示用户通过消息中的卡片添加联系人。
前提条件
- 拥有对 Google Chat 访问权限的商务版或企业版 Google Workspace 账号。
目标
- 将用户界面 (UI) 设计和构建为
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 控制台中,依次选择“菜单”图标 > > 品牌信息。
如果您已配置,则可以在品牌、受众群体和数据访问中配置以下 OAuth 同意屏幕设置。如果您看到一条消息,其中显示 尚未配置,请点击开始:
- 在应用信息下的应用名称中,输入
Contact Manager
。 - 在用户支持电子邮件地址中,选择您的电子邮件地址或合适的 Google 群组。
- 点击下一步。
- 在观众下,选择内部。如果您无法选择内部,请选择外部。
- 点击下一步。
- 在联系信息下,输入一个电子邮件地址,以便我们在有任何项目变更时向您发送通知。
- 点击下一步。
- 在完成下方,查看 Google API 服务用户数据政策,如果您同意,请选择我同意 Google API 服务:用户数据政策。
- 点击继续。
- 点击创建。
- 如果您选择了外部作为用户类型,请添加测试用户:
- 点击受众群体。
- 在测试用户下,点击添加用户。
- 输入您的电子邮件地址和任何其他已获授权的测试用户,然后点击保存。
- 在应用信息下的应用名称中,输入
创建和部署 Chat 应用
在下一部分中,您将复制并更新包含 Chat 应用所需的所有应用代码的整个 Apps Script 项目,因此无需逐个复制和粘贴文件。
您还可以选择在 GitHub 上查看整个项目。
下面简要介绍了每个文件:
main.gs
处理所有应用逻辑,包括与用户向 Chat 应用发送消息、点击 Chat 应用消息中的按钮或打开和关闭对话框的时间相关的互动事件。
查看
main.gs
代码contactForm.gs
包含用于接收用户表单数据的 widget。这些表单输入 widget 会显示在消息和对话框中显示的卡片中。
查看
contactForm.gs
代码appsscript.json
用于定义和配置 Chat 应用的 Apps 脚本项目的 Apps 脚本清单。
查看
appsscript.json
代码
查找您的 Cloud 项目编号和 ID
在 Google Cloud 控制台中,前往您的 Cloud 项目。
依次点击“设置和实用程序”图标 > 项目设置。
记下项目编号和项目 ID 字段中的值。您将在后面的部分中使用它们。
创建 Apps 脚本项目
如需创建 Apps 脚本项目并将其与 Cloud 项目相关联,请执行以下操作:
- 点击以下按钮,打开 Manage contacts in Google Chat Apps Script 项目。
打开项目 - 点击 概览。
- 在概览页面上,点击
复制。
为您的 Apps 脚本项目副本命名:
点击“在 Google Chat 中管理联系人”的副本。
在项目名称中,输入
Contact Manager - Google Chat app
点击重命名。
设置 Apps 脚本项目的 Cloud 项目
- 在您的 Apps 脚本项目中,点击
Project Settings(项目设置)。
- 在 Google Cloud Platform (GCP) Project(Google Cloud Platform [GCP] 项目)下,点击 Change project(更改项目)。
- 在 GCP project number(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 脚本。
在 Deployment ID(部署 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,然后点击关闭以删除项目。