本教程介绍如何构建一个 Google Chat 应用, Google Chat 用户可管理自己的个人和业务联系人。收集 Chat 应用会提示用户完成 在卡片消息和对话框中添加联系表单。
查看 Chat 应用的实际应用:
-
图 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:
- 姓氏和名字:a
textInput
接受字符串的 widget。 - 生日日期:一个仅接受日期的
dateTimePicker
widget。 - 联系人类型:一个包含单选按钮的
selectionInput
widget,可让用户选择并提交单个字符串值(Personal
或Work
)。 - 查看并提交按钮:一个包含
button
widget 的buttonList
数组,用户点击该 widget 即可提交其输入的值。
- 姓氏和名字:a
Google Chat 应用会处理
CARD_CLICKED
互动事件,以处理用户输入的值,并在确认卡片中显示这些值。用户查看确认卡片,然后点击提交按钮 最终确定联系信息
Google Chat 应用会发送一条私密短信,确认已提交。
准备环境
本部分介绍如何为 Chat 应用。
创建 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 -
Local 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 扩展应用
在下一部分,您将复制并更新整个 包含所有必需应用的 Apps 脚本项目 因此无需复制 粘贴每个文件。
您还可以选择在 GitHub 上查看整个项目。
以下是对每个文件的概述:
main.gs
处理所有应用逻辑,包括关于用户何时发送 Chat 应用,点击 一条 Chat 应用消息,或者打开和关闭对话框。
查看
main.gs
个代码contactForm.gs
包含接收用户表单数据的微件。这些表单输入 微件显示在消息和对话框中的卡片中。
查看
contactForm.gs
代码appsscript.json
通过 Apps 脚本清单 ,该脚本定义和配置 Apps 脚本项目, Chat 应用。
查看
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 脚本部署 ID 您在创建 Apps 脚本部署。
在斜杠命令下,设置斜杠命令
/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 中的特定人员和群组使用复选框,然后输入您的电子邮件地址。
在日志下,选择将错误记录到 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,然后点击关停以删除项目 项目。