将 Dialogflow 与 Google Chat 集成后,您可以利用这两项服务的功能:
- Google Chat。提供具有前端界面的消息传递平台 进行一对一对话和聊天室的交流。通过 Google Chat,您可以构建包含图标、图片、按钮、文本输入字段或 Google 地图等应用的卡片,从而改进界面。
- Dialogflow。提供自然语言理解平台,以实现自动对话和动态响应。通过 Dialogflow 您可以解读和执行用户意图,例如安排 预约或处理购买。
虽然您也可以使用 Google Chat 来执行用户请求,但 Dialogflow 允许用户通过常规对话表达其请求。
工作原理
构建支持 Dialogflow 的 Google Chat 应用后,您可以将该应用 适用于:
- 公众。获得许可的 Google Workspace 用户可以下载您的应用 通过 Google Workspace Marketplace 获取。
- Google Workspace 网域。Google Workspace 管理员可以指定用户可以将哪些应用添加到 Google Chat。
- 应用测试人员。在测试您的应用时,您可以限制对该应用的访问权限。
在 Google Chat 中,用户可以直接与您的应用对话,也可以在聊天室中调用该应用。会发生以下情况:
- 用户向 Chat 应用发送消息。
- Google Chat 会向 Chat 应用发送 JSON 请求,该应用可托管在 Cloud Functions 中。
- Chat 应用会接收 JSON 请求并对其进行解析。在解析过程中 Chat 应用会调用 Dialogflow。
- Chat 应用向 Dialogflow 发送请求,其中包含用户的自然语言消息文本。
- Dialogflow 会解读用户的文本并向 Chat 应用发送响应。
- Chat 应用会解析 Dialogflow 的响应并将 JSON 响应发送到 Google Chat。
- Google Chat 接收 Chat 应用的 JSON 响应,并以 在界面中以文本消息、卡片消息或对话框消息的形式呈现。
- Google Chat 会原封不动地分享此响应,或使用基于卡片的界面显示丰富的响应。
本页面介绍了如何将 Dialogflow 与 Google Chat 集成,以及如何配置 丰富的聊天响应。
限制
与 Google Chat 集成后,Dialogflow 代理只能使用 默认代理语言。
准备工作
只有获得许可的 Google Workspace 用户才能使用 Google Chat 应用。您的 Google Workspace 管理员必须执行以下操作:
构建 Dialogflow 代理
如果您尚未构建 Dialogflow 代理,但想了解代理如何与 Google Chat 进行交互,请按照此快速入门创建一个简单的代理。但是,请勿删除代理。接下来,我们使用 Google Chat 界面设置代理。
设置 Google Chat
如需使用 Google Chat 设置 Dialogflow 代理,您可以使用以下任一方法:
使用 Dialogflow 控制台设置 Google Chat
如需使用 Dialogflow 控制台集成 Google Chat,请按以下步骤操作:
- 转到 Dialogflow ES 控制台。
- 在左侧菜单中,选择一个 Dialogflow 项目。
- 点击集成 (Integrations)。
- 点击 Google Chat。 如果上述选项中没有 Google Chat,请参阅问题排查。
- 选择哪些人可以访问该应用。
- [可选] 选择运行代理的环境。
- 点击启动。
您的 Google Chat 应用现已发布,可供您选择的对象使用。
如需配置该应用,请再次点击 Google Chat,然后配置聊天机器人详细信息。 系统会显示 Google Cloud 控制台页面 (针对 Google Chat API),您可以在其中配置应用参数 比如应用头像
使用 Google Cloud 控制台设置 Google Chat
如要使用 Google Cloud 控制台集成 Google Chat,请按以下步骤操作:
选择 Dialogflow 项目。
点击 menu。
点击 API 和服务 > 库。
搜索并点击 Google Chat API。
点击启用。
点击配置标签页。
配置应用。
在公开范围窗格中,选择哪些人可以访问该应用:
- 应用测试人员。选择将此聊天对话仅提供给特定人员,然后 输入他们的电子邮件地址。
- 一般公开或企业版 Google Workspace 网域。 发布应用。
点击保存。您的 Google Chat 应用现已正式发布, 已选择。
测试
在测试 Chat 应用之前,请确保您已启动该应用,如设置 Google Chat 中所述。
您可以使用以下任一方法测试您的应用:
直接与应用聊天
- 打开 Google Chat。
- 在 Chat 窗格中,点击 +,然后选择 Find apps(查找应用)。
- 搜索并选择您的应用。 如果 Google Chat 未列出您的应用,请参阅问题排查。
- 点击 Chat。
- 在聊天输入字段中,输入自然语言短语以测试应用。
从聊天室中调用应用
- 打开 Google Chat。
- 在聊天室窗格中,点击 +,然后选择创建聊天室。
- 输入聊天室名称 Test。
- 点击创建。
- 在聊天条目字段中,输入 @ 并选择您的应用以自动补全名称。
- 在自动填充的应用名称后面,输入一个自然语言短语以测试应用。
问题排查
错误 | 解决方案 |
---|---|
Dialogflow ES 控制台 >“集成”页面未显示 Google Chat 选项。 | 尝试刷新页面:在左侧菜单中,点击意图,然后点击集成。 |
Google Chat 未将您的应用列为可用应用。 | 确保您的 Google Workspace 管理员为您添加了 Google Workspace 账号,并允许用户安装 Chat 扩展应用。然后,确保您已启动 Chat 应用,如设置 Google Chat 中所述。 |
富响应消息
此集成会将一些富响应消息消息转换为 Google Chat 消息格式。
文本响应
文本响应作为文本消息发送到 Google Chat。借助此格式,您可以将文本加粗或斜体,只需将文本换成特定的(Markdown 灯)符号即可。
从外观上看,文本消息响应与 Dialogflow 控制台中的 Default Text Response 相同。不过,原始 API 响应看起来会略有不同。它还将平台配置设置为 GOOGLE_HANGOUTS,其在构建用于多个集成的代理时可能会很有趣。
"fulfillmentMessages": [
{
"text": {
"text": [
"This is a test."
]
},
"platform": "GOOGLE_HANGOUTS"
},
卡片
图片
图片响应作为 Google Chat 图片微件发送到 Google Chat。
自定义负载
如需发送其他类型的 Google Chat 消息,您可以使用自定义载荷。
Google Chat 自定义载荷可让您创建更高级的卡片。一张卡可以包含一个或多个部分。每个部分可以有一个标题。您可以查看 Google Chat 消息格式卡片参考指南,了解您可以利用此卡片创建的一些组合。但是,使用自定义负载意味着必须提供 JSON 格式。
以下是使用 Cards v1 格式的自定义载荷示例:
{ "hangouts": { "header": { "title": "Pizza Delivery Customer Support", "subtitle": "pizzadelivery@example.com", "imageUrl": "https://goo.gl/aeDtrS" }, "sections": [{ "widgets": [{ "keyValue": { "icon": "TRAIN", "topLabel": "Order No.", "content": "12345" } }, { "keyValue": { "topLabel": "Status", "content": "In Delivery" } }] }, { "header": "Location", "widgets": [{ "image": { "imageUrl": "https://dummyimage.com/600x400/000/fff" } }] }, { "header": "Buttons - I could leave the header out", "widgets": [{ "buttons": [{ "textButton": { "text": "OPEN ORDER", "onClick": { "openLink": { "url": "https://example.com/orders/..." } } } }] }] }] } }
停止 Chat 应用
如要停止使用 Google Chat 应用,您可以使用以下任一方法:
使用 Dialogflow 控制台停止 Chat 应用
- 前往 Dialogflow ES 控制台。
- 在左侧菜单中,选择一个 Dialogflow 项目。
- 点击集成 (Integrations)。
- 点击 Google Chat。 如果 Google Chat 不在选项中,请参阅问题排查。
- 点击停止。
使用 Google Cloud 控制台停止 Chat 应用
从 Google Cloud 控制台中选择 Dialogflow 项目。
点击 menu。
点击 API 和服务 > 库。
搜索并点击 Google Chat API。
点击管理。
点击配置标签页。
在应用状态字段中,选择已停用。
更多信息
如需详细了解如何使用 Google Chat,请参阅以下内容:
- Google Chat 开发者文档
- 构建 Chat 扩展应用
- 视频:将 Dialogflow 与 Google Chat 集成
- Codelab:将 Dialogflow 与 Google Chat 集成