本页面简要介绍了如何设计、构建和发布 Google Workspace 插件。本概览介绍了以下步骤:
- 确定您希望用户在哪些 Google Workspace 应用中使用您的插件。
- 设置插件的项目,然后选择所有者和协作者。
- 设计和配置插件的外观和行为。
- 构建插件。
- 验证插件的 OAuth 范围。
- 在一个或多个 Google Workspace 应用中测试插件。
- 发布插件。
您可以使用 Apps 脚本或 HTTP 构建插件。如需进行比较,请观看视频“Apps 脚本与 HTTP 端点:您应该选择哪个?”🤔”。
选择 Google Workspace 主机应用
您可以配置 Google Workspace 插件,使其显示在以下 Google Workspace 主机应用中:
- Gmail
- Google 日历
- Google Chat
- Google 文档
- Google 云端硬盘
- Google Meet
- Google 表格
- Google 幻灯片
如需了解如何为 Google Workspace 应用构建功能,请参阅扩展 Google Workspace 界面。
设置插件的项目并选择所有者和协作者
如果您在 Apps 脚本中构建插件,则需要同时创建 Apps 脚本项目和 Google Cloud 项目。如果您使用除 Apps 脚本以外的语言构建插件,则只需创建 Google Cloud 项目。
在开始开发插件之前,请选择一个用户账号来拥有项目,并决定哪些其他账号是协作者。项目的所有者负责创建和管理项目文件及相关设置,而协作者可以协助进行编码和测试。
Apps 脚本项目
在构建插件之前,请查看 Apps 脚本配额和限制,确保您的项目设计符合这些准则。Apps 脚本最适合开发用户群较小的个人或内部插件。如果您打算构建需要处理大量用户、延迟时间短或需要完全控制基础架构的大规模插件,请考虑在其他运行时环境中进行开发。
您可以在共享云端硬盘中构建插件的 Apps 脚本项目文件,这样就不会有任何单个账号拥有唯一的所有权。将插件脚本文件放在共享云端硬盘中,可确保多位协作者都能访问该脚本项目。
发布插件时,单个用户账号会充当发布者。发布账号必须拥有对脚本项目的编辑权限,但不必是所有者。
如需创建 Apps 脚本项目,请参阅脚本项目。
Google Cloud 项目
我们建议您向插件的 Cloud 项目添加协作者。这有助于确保团队中的某个人始终可以访问该插件的 Cloud 设置。
如需创建 Google Cloud 项目,请参阅创建 Google Cloud 项目。
设计和配置插件的外观和行为
在开始构建插件之前,请先确定您希望插件的外观和行为方式。考虑插件应尝试为哪些使用场景提供解决方案。先从简单的设计入手,然后逐步添加更多精细之处。
如需了解如何设计插件用户体验的指南,请参阅 Google Workspace 插件样式指南。
配置插件清单
设计好插件后,您就可以开始在插件清单中实现该设计了。您可以在清单中配置插件的大部分外观和行为,包括插件扩展的 Google Workspace 宿主应用。
有关详情,请参阅 Google Workspace 加载项的清单。
在为插件添加代码和功能时,请根据需要修改清单,以生成所需的插件外观和行为。
配置 Google Chat 应用的外观和行为
如果您设计的加购项可扩展 Google Chat,则必须使用 Google Chat API 来配置 Chat 应用的外观和行为。如需了解相关步骤,请参阅配置 Google Chat 应用。
构建插件
您必须为插件实现基于卡片的界面。使用 Apps 脚本的 Card 服务;如果您使用其他代码语言编写代码,请返回格式正确的 JSON,以便界面将其渲染为卡片。
您还必须实现插件清单中指定的任何触发函数。如果您的插件使用 OAuth 连接到第三方非 Google 服务,您还必须为该服务配置 OAuth。
构建卡片
您可以通过创建 Card 对象并使用微件填充这些对象来定义插件界面。清单中指定的触发器函数必须返回单个 Card 对象或表示插件界面不同“页面”的 Card 对象数组。您的插件还可以创建和显示新卡片,以响应用户操作。
在 Apps 脚本中,您可以使用 CardBuilder 类创建卡片。每张卡片都需要一个 CardHeader 和一个或多个 CardSections。您应使用构成插件界面的各个 widget 填充每个卡片部分。互动 widget 通常与操作相关联,以定义其互动行为。
通过卡片的 CardBuilder 将所有部分和小部件添加到卡片后,您必须调用 CardBuilder.build() 来创建相应的 Card 对象。
您可以使用其他内置 Apps 脚本服务(例如 CalendarApp)来检索要在您构建的插件卡片中显示的信息。您可以使用从非 Google 服务中提取的数据。
如果您的插件需要访问需要 OAuth 的非 Google API,您必须配置并连接到该服务 - 如需了解详情,请参阅连接到非 Google 服务指南。
施工顺序
在构建卡片时,您必须从顶部开始构建。也就是说,您必须按以下顺序使用这些构造函数:
- 构建 widget。
- 将 widget 添加到卡片部分。
- 重复此步骤,直到卡片部分包含所有 widget。
- 将卡片部分添加到卡片中。
这是必需的,因为当您向卡片或卡片部分添加 widget 时,实际上是在添加该 widget 的副本。添加 widget 对象后,您对其所做的任何更改都不会反映在最终卡片中。
通用操作
您可以使用通用操作来提供独立于上下文的功能。无论显示哪个卡片,通用操作都是插件界面中可用的菜单项。所有已定义的通用操作始终显示在插件的卡片菜单中。
如需了解详情,请参阅通用操作。
验证插件 OAuth 范围
范围用于定义插件可以代表用户执行哪些操作。最佳实践是,插件仅拥有其正常运行所需的范围,而没有其他范围。
在插件项目中,明确设置插件范围,以确保插件使用尽可能宽松的范围集。您可以在插件清单中定义插件使用的范围。
如需了解详情,请参阅范围。
测试插件
您可以先安装未发布的插件,然后测试该插件。 安装并获得授权后,您可以在自己的账号中使用该插件,并在其扩展的主机应用中测试其外观和行为。您应验证该插件在各种情境和用户操作下的行为是否符合预期。
如需开始测试插件,请参阅以下指南:
发布插件
发布插件后,其他人(无论是公开用户还是您网域中的用户)都可以使用该插件。在开始发布流程之前,请务必查看出版物概览。发布是一个复杂的过程,需要准备和时间才能完成。
Google Workspace 插件会发布到 Google Workspace Marketplace。公开提供的插件必须先完成应用审核,然后才能发布。
如需了解详情,请参阅发布 Google Workspace 加购项。