通过将 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 的响应,并向 Google Chat 发送 JSON 响应。
- 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 项目。
- 点击集成 。
- 点击 Google Chat 。 如果 Google Chat 不是其中一个选项,请参阅问题排查。
- 选择哪些人可以访问该应用。
- [可选] 选择运行代理的环境。
- 点击启动 。
您的 Google Chat 应用现已上线,可供您选择的用户使用。
如需配置该应用,请再次点击 Google Chat ,然后点击配置机器人详细信息 。 系统会显示 Google Chat API 的 Google Cloud 控制台页面 ,您可以在其中配置 应用参数 ,例如应用头像。
使用 Google Cloud 控制台设置 Google Chat
如需使用 Google Cloud 控制台集成 Google Chat,请按以下步骤操作:
选择 Dialogflow 项目。
点击 menu。
依次点击 API 和服务 和库 。
搜索并点击 Google Chat API 。
点击启用 。
点击配置 标签页。
配置应用。
在可见性 窗格中,选择哪些人可以访问该应用:
- 应用测试人员。选择面向特定人员提供此聊天功能 ,然后 输入其电子邮件地址。
- 公众或企业 Google Workspace 网域。 发布该应用。
点击保存 。您的 Google Chat 应用现已上线,可供您 选择的用户使用。
测试
在测试 Chat 应用之前,请确保已启动该应用,如 设置 Google Chat中所述。
您可以使用以下任一方法测试应用:
直接与应用 Chat
- 打开 Google Chat。
- 在聊天 窗格中,点击 + ,然后选择查找应用 。
- 搜索并选择您的应用。 如果 Google 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 图片
图片响应 作为 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 项目。
- 点击集成 。
- 点击 Google Chat 。 如果 Google Chat 不是其中一个选项,请参阅问题排查。
- 点击停止 。
使用 Google Cloud 控制台停止 Chat 应用
从 Google Cloud 控制台中选择 Dialogflow 项目。
点击 menu。
依次点击 API 和服务 和库 。
搜索并点击 Google Chat API 。
点击管理 。
点击配置 标签页。
在应用状态 字段中,选择已停用 。
更多信息
如需详细了解如何使用 Google Chat,请参阅以下内容: