将 Chat 应用与其他服务和工具相关联

本页介绍如何将 Google Chat 应用与服务相关联 Google Chat 以外的工具或工具。虽然 Chat 应用 但它们本身十分强大,往往需要与其他系统协同工作, 用于连接账户、授权数据访问、显示 额外数据,或配置用户偏好设置。

前提条件

一款已启用互动功能的 Google Chat 应用。要创建 交互式 Chat 应用,请完成以下快速入门之一 针对您要使用的应用架构: <ph type="x-smartling-placeholder">

向用户请求配置 Chat 应用

如果完成请求需要额外配置 直接在 Chat 应用中填写,返回 将配置网址作为正常回复的一部分发送给用户,或以非公开方式显示它, 格式如下:

{
  "actionResponse": {
    "type": "REQUEST_CONFIG",
    "url": "CONFIGURATION_URL"
  }
}

这会告知 Google Chat 向用户显示私密提示,其中 “CONFIGURATION_URL”是一个链接 以便用户访问,请求其进行额外的身份验证、授权或 配置。REQUEST_CONFIG 响应与常规 响应消息。系统会忽略任何文字、卡片或其他属性。

完成配置请求

每个 MESSAGE 互动事件 包含此字段 configCompleteRedirectUrl。您必须对 完成该过程时使用的配置网址。正在重定向至此 网址会向 Google Chat 发出信号,表明配置请求已执行。

Chat 应用启动后,具体流程取决于 收到特定消息在回复“@app help”这样的消息时, Chat 应用应以不带 需要进行额外配置

当用户成功重定向到 configCompleteRedirectUrl时 Google Chat 会执行以下步骤:

  1. 清除向发起用户显示的提示。
  2. 将原始帖子转换为公开帖子,以便 空间
  3. 将原始消息发送到同一 Chat 应用 我们再来一遍

访问 configCompleteRedirectUrl 只会影响一条用户消息。 如果用户多次尝试向 Chat 应用发送消息 次,并因此收到了多次提示,点击特定的 完成身份验证和配置过程只会影响 特定消息。其他消息保持不变。

当以这种方式重新发送 MESSAGE 互动事件时,该事件应该完全相同 与原始事件相关联;但在某些情况下,MESSAGE 可能各不相同例如,当某封邮件同时提及 Chat 应用 A 和 Chat 应用 B 如果 Chat 应用 A,则用户可以修改消息 在通过以下应用进行身份验证之前,使用常规消息进行响应: Chat 应用 B.在此示例中 Chat 应用 B 在 用户完成身份验证和配置。

在 Chat 之外对 Chat 用户进行身份验证

在某些情况下(例如为 API 请求 OAuth 授权),您的应用需要 链接到 Chat 以外的网址,同时保留用户 身份。在这些情况下识别用户的最佳方式是 Google 登录功能在目标应用中登录。

使用 身份令牌 获取 User-ID。sub 声明包含用户的 唯一 ID,可与 Google Chat 中的用户 ID 相关联

虽然这两个 ID 不完全相同,但可以进行强制转换。接收者 将 sub 声明的值强制转换为 Google Chat users/{user} 前附加 值为 users/。例如,123 的声明值是等效的 发送至 users/123 的邮件, Chat 应用。