将 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。
您可以使用以下任一方法测试您的应用:
直接与应用 Chat
- 打开 Google Chat。
- 在 Chat 窗格中,点击 +,然后选择查找应用。
- 搜索并选择您的应用。 如果 Google Chat 未列出您的应用,请参阅问题排查。
- 点击 Chat。
- 在聊天输入字段中,输入自然语言短语以测试应用。
从聊天室中调用应用
- 打开 Google Chat。
- 在聊天室窗格中,点击 +,然后选择创建聊天室。
- 输入聊天室名称 Test。
- 点击创建。
- 在聊天输入字段中输入 @,然后选择您的应用以自动填充名称。
- 在自动填充的应用名称后面,输入一个自然语言短语以测试应用。
问题排查
错误 | 解决方案 |
---|---|
Dialogflow ES 控制台 >“集成”页面未显示 Google Chat 选项。 | 尝试刷新页面:在左侧菜单中,点击意图,然后点击集成。 |
在 Google Chat 中,未将您的应用列为可用状态。 | 确保您的 Google Workspace 管理员为您添加了 Google Workspace 账号,并允许用户安装 Chat 扩展应用。然后,确保您已按照设置 Google Chat 中的说明启动 Chat 应用。 |
富响应消息
此集成会将一些富响应消息消息转换为 Google Chat 消息格式。
文本响应
文本响应 会通过以下方式发送到 Google Chat: 短信。 使用这种格式,您可以将文本换行来将文本加粗或设为斜体 特定(markdown 浅色)符号。
文本消息响应在外观上与默认文本响应相同 。不过,原始 API 响应看起来会略有不同。 它还将平台配置设置为 GOOGLE_HANGOUTS,这可能会感兴趣 在为多个集成构建代理时非常重要。
"fulfillmentMessages": [
{
"text": {
"text": [
"This is a test."
]
},
"platform": "GOOGLE_HANGOUTS"
},
卡片
卡片响应 会通过以下方式发送到 Google Chat: 卡片消息。
图片
图片响应 会通过以下方式发送到 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 集成