使用 Google Apps 脚本构建 Google Chat 应用

构建一个可以直接接收您发送的消息并通过回显您的消息进行回复的 Google Chat 扩展应用。

下图展示了架构和消息传递模式:

使用 Apps 脚本实现的 Chat 应用的架构。

在上图中,与 Apps 脚本 Chat 应用互动的用户具有以下信息流:

  1. 用户通过私信或 Chat 聊天室向 Chat 应用发送消息。
  2. 在 Google Cloud 中实现的 Apps 脚本 Chat 应用逻辑会接收并处理消息。
  3. (可选)Chat 应用逻辑可以与 Google Workspace 服务(例如日历或表格)或其他 Google 服务(例如 Google 地图或 YouTube)集成。
  4. Chat 应用逻辑会将响应发送回 Chat 中的 Chat 应用服务。
  5. 响应会传递给用户。

目标

  • 设置环境。
  • 设置脚本。
  • 配置 Chat 应用。
  • 测试 Chat 应用。

前提条件

设置环境

在 Google Cloud 控制台中打开 Cloud 项目

如果尚未打开,请打开您打算用于此示例的 Cloud 项目:

  1. 在 Google Cloud 控制台中,前往选择项目 页面。

    选择 Cloud 项目

  2. 选择您要使用的 Google Cloud 项目。或者,点击创建项目 ,然后按照屏幕上的说明操作。如果您创建了 Google Cloud 项目,可能需要为该项目启用结算功能

启用 Chat API

在使用 Google API 之前,您需要在 Google Cloud 项目中启用它们。 您可以在单个 Google Cloud 项目中启用一个或多个 API。
  • 在 Google Cloud 控制台中,启用 Google Chat API。

    启用 API

所有使用 OAuth 2.0 的应用都需要配置权限请求页面。配置应用的 OAuth 权限请求页面可定义向用户和应用审核者显示的内容,并注册应用以便日后发布。

  1. 在 Google API 控制台中,依次点击菜单 > Google Auth 平台 > 品牌塑造

    前往“品牌塑造”

  2. 如果您已配置 Google Auth 平台,则可以在品牌塑造受众群体数据访问中配置以下 OAuth 权限请求页面设置。如果您看到一条消息,指出尚未配置 Google Auth 平台,请点击开始使用
    1. 应用信息 下的应用名称 中,输入应用的名称。
    2. 用户支持邮箱中,选择一个支持邮箱,以便用户在对权限有疑问时与您联系。
    3. 点击下一步
    4. 受众群体 下,选择内部
    5. 点击下一步
    6. 联系信息下,输入一个邮箱,以便您接收有关项目变更的通知。
    7. 点击下一步
    8. 完成 部分,查看 Google API 服务用户数据政策,如果您同意,请选择我同意 Google API 服务:用户数据政策
    9. 点击继续
    10. 点击创建
  3. 目前,您可以跳过添加范围。 将来,当您创建供您的 Google Workspace 组织外部使用的应用时,必须将 用户类型 更改为 外部。然后, 添加应用所需的授权范围。如需了解详情,请参阅完整的 配置 OAuth 权限请求页面指南。

设置脚本

如需设置脚本,您可以使用模板,然后在 Apps 脚本中设置 Cloud 项目。

使用模板创建脚本

  1. 前往 Apps 脚本 使用入门 页面
  2. 点击页面顶部的 Chat 应用 模板。
  3. 点击未命名项目,输入Quickstart app,然后 点击重命名

将来,如果您想使用某些 Google API 或发布应用,则必须将 Cloud 项目与 Apps 脚本项目相关联。在本指南中,您无需执行此操作。如需了解详情,请参阅Google Cloud 项目指南

创建测试部署

您需要此 Apps 脚本项目的部署 ID,以便在下一步中使用。

如需获取 Head 部署 ID,请执行以下操作:

  1. 在 Chat 应用 Apps 脚本项目中, 依次点击 部署 > 测试部署
  2. 复制 Head 部署 ID 以便在后续步骤中使用,然后点击完成

配置 Chat 应用

从 API 控制台配置 Chat 应用。

  1. API 控制台中, 搜索 Google Chat API,然后点击 Google Chat API
  2. 点击管理
  3. 点击配置 并设置 Chat 应用:

    1. 清除将此 Chat 应用构建为 Google Workspace 插件 。系统会打开一个对话框,要求您确认。在该对话框中,点击停用
    2. 应用名称 字段中,输入 Quickstart app
    3. 头像网址 字段中,输入 https://developers.google.com/chat/images/quickstart-app-avatar.png
    4. 说明 字段中,输入 Quickstart app
    5. 功能 下,选择加入聊天室和群组对话
    6. 在连接设置下,选择 Apps 脚本
    7. 部署 ID 字段中,粘贴您之前复制的 Head 部署 ID。
    8. 在“可见性”下,选择您网域中的特定人员和群组,然后输入您的电子邮件地址。
  4. 点击保存

Chat 应用已准备好响应消息。

测试 Chat 应用

如需测试 Chat 应用,请打开与 Chat 应用的私信聊天室并发送消息:

  1. 使用您在将自己添加为受信任的测试人员时提供的 Google Workspace 账号打开 Google Chat。

    前往 Google Chat

  2. 点击 发起新聊天
  3. 添加 1 位或多位用户 字段中,输入 Chat 应用的名称。
  4. 从结果中选择 Chat 应用。系统会打开一条私信。

  5. 在与应用的新私信中,输入 Hello,然后按 enter

    Chat 应用会感谢您添加它,并回显您的消息。

如需添加受信任的测试人员并详细了解如何测试互动功能,请参阅 测试 Google Chat 应用的互动功能

问题排查

当 Google Chat 应用或 卡片返回错误时, Chat 界面会显示一条消息,指出“出了点问题” 或“无法处理您的请求”。有时,Chat 界面 不会显示任何错误消息,但 Chat 应用或 卡片会产生意外结果;例如,卡片消息可能不会 显示。

虽然错误消息可能不会显示在 Chat 界面中, 但当您为 Chat 应用启用错误日志记录时,系统会提供描述性错误消息和日志数据,以帮助您修复错误 。如需查看、 调试和修复错误方面的帮助,请参阅 排查和修复 Google Chat 错误

清理

为避免因本教程中使用的 资源导致您的 Google Cloud 账号产生费用,我们建议您删除 Cloud 项目。

  1. 在 Google API 控制台中,前往管理资源 页面。依次点击 菜单 > IAM 和管理 > 管理资源

    前往资源管理器

  2. 在项目列表中,选择要删除的项目,然后点击 删除 .
  3. 在对话框中输入项目 ID,然后点击关停 以删除 项目。

后续步骤

  • 创建互动卡片 - 卡片 消息支持定义的布局、互动式界面元素(例如按钮)以及 富媒体(例如图片)。使用卡片消息呈现详细信息、从用户处收集信息,并引导用户执行下一步操作。
  • 响应命令 - 命令可帮助用户发现 和使用 Chat 应用的主要功能。
  • 启动对话框 - 对话框是基于卡片的窗口式 界面,您的应用可以打开这些界面与用户互动。您可以按顺序将多个卡片串联在一起,这有助于用户完成多步流程,例如填写表单数据。
  • Codelab:准备好构建更高级的 Chat 应用了吗?请参阅 Codelab 构建内置 Gemini 的 Google Chat 应用中的反馈 Chat 应用。