升级旧版 Gmail 和 Google 日历插件

如果您已构建并发布了用于扩展 Gmail 或 Google 日历的插件,则可以将其升级为 Google Workspace 插件。本页中的说明详细介绍了如何将 Google Workspace 功能添加到现有的 Gmail 或 Google 日历插件中,然后发布升级后的插件,以便用户发现和安装该插件。

您可以将新功能转移到原始插件中,以保留您在 Google Workspace Marketplace 中的商品详情、安装和用户。升级后,您还可以利用新的 Google Workspace 插件功能,例如首页

第 1 步:为插件的 Apps 脚本项目创建副本

升级后的插件与您发布的插件使用同一个 Google Cloud 项目,但请务必创建并使用底层 Apps 脚本项目的副本,以便在您测试升级后的版本时,现有用户不会受到影响。升级原始脚本项目的副本还意味着您可以随时访问原始代码,并且日后可以根据需要重新部署。

  1. 打开现有的 Gmail 插件或 Google 日历会议插件 Apps 脚本项目。
  2. 点击左侧的概览
  3. 点击右侧的“复制”图标
  4. 在左侧,依次点击项目设置 > 更改项目
  5. 点击 GCP 项目编号
  6. 输入与已发布的现有插件 Apps 脚本项目关联的同一项目编号
  7. 点击设置项目

第 2 步:集成 Google Workspace 插件

您必须设计和实现要添加到插件中的所有 Google Workspace 插件功能。

  1. 计划在插件的首页卡片中显示哪些内容,以及这些内容是否应显示在 Gmail、日历、云端硬盘或三主机的任意组合中。如果您希望多个托管商都使用同一个首页,请确定它是同一个首页,还是每个托管商都想要自定义首页卡片。
  2. 在您复制的 Apps 脚本插件项目中,使用 homepageTrigger 函数构建首页卡片。请务必添加控制新首页界面所需的任何支持函数或逻辑。
  3. 考虑添加由用户的操作(如打开 Gmail 邮件会话日历活动)触发的情境卡片。

  4. 更新插件中对事件对象的所有访问(在微件回调函数或上下文触发器函数中),以使用更新后的事件对象结构。新结构仍然包含 Gmail 和日历会议插件使用的相同事件对象字段,但这些原始字段已弃用,最终将被移除。

第 3 步:更新插件的清单

与 Gmail 插件和日历会议插件使用的结构相比,配置信息在 Google Workspace 插件的清单结构中的存储方式发生了很大变化。升级插件时,您必须根据下表更新插件的 Apps 脚本项目的清单字段。您必须将所有相关的子媒体资源更新为新的 addOns 媒体资源。

此外,请务必根据需要更新清单的 oauthScopes 字段,以反映更新后的插件所需的权限。

如需详细了解 Google Workspace 插件清单,请参阅清单

Gmail 插件

原始清单字段 请采取行动
gmail.composeTrigger 移至 addOns.gmail.composeTrigger
gmail.contextualTriggers[] 将列表移至 addOns.gmail.contextualTriggers[]
gmail.logoUrl 移至 addOns.common.logoUrl
gmail.name 移至 addOns.common.name
gmail.openLinkUrlPrefixes[] 将列表移至 addOns.common.openLinkUrlPrefixes[]
gmail.primaryColor 移至 addOns.common.layoutProperties.primaryColor
gmail.secondaryColor 移至 addOns.common.layoutProperties.secondaryColor
gmail.universalActions[] 将列表移至 addOns.common.universalActions[]
gmail.universalActions[].text 将每个 gmail.universalActions[].text 字段移动到相应的 addOns.common.universalActions[].label 字段。
gmail.useLocalFromApp 移至 addOns.common.useLocaleFromApp

Google 日历会议插件

原始清单字段 请采取行动
calendar.createSettingsUrlFunction 移至 addOns.calendar.createSettingsUrlFunction
calendar.conferenceSolution[] 移至 addOns.calendar.conferenceSolution[]
calendar.logoUrl 移至 addOns.common.logoUrl
calendar.name 移至 addOns.common.name

第 4 步:测试升级后的插件

如需在发布之前测试升级后的插件,请参阅测试 Google Workspace 插件

第 5 步:申请审核升级后的插件

所有 Google Workspace 插件(无论是升级的插件还是从头开始构建的插件)都必须先获得批准,然后才能在 Google Workspace Marketplace 中上架。

请按照以下步骤提交插件以供审核:

  1. 确保您的插件满足所有插件发布要求

  2. 使用要发布的代码版本(在新的 Apps 脚本项目中)为 Google Workspace 插件创建版本化部署。请勿尝试使用 Head 部署进行发布。

  3. 如果您在升级插件时添加了新范围,则必须请求 OAuth 验证。例如,如果您的 Gmail 插件在 Google Workspace 插件版本中使用新的云端硬盘或日历范围,您必须提交这些新范围进行验证。验证通常需要几天时间才能完成,因此请尽早开始验证流程。请确保您的插件已通过验证,然后再继续执行第 6 步。

第 6 步:提供升级后的插件

  1. 打开 Google Workspace Marketplace SDK。

  2. 点击左侧的配置。此面板包含一个表单,您可以在该表单中提供插件的相关信息。

  3. 更新商品详情的简短说明、详细说明和屏幕截图,以反映 Google Workspace 插件的新功能。

  4. 扩展程序下,点击升级到 Google Workspace 插件按钮。在随即显示的文本框中,输入您在上一步中为 Google Workspace 插件创建的新部署 ID。如果部署 ID 有效,则会显示受支持的主机列表。

  5. 如果您为 Google Workspace 插件添加了新范围,请务必将其添加到配置页面的 OAuth 2.0 范围部分。该部分中列出的范围应与插件清单中列出的范围完全匹配。

  6. 检查您在表单中输入的信息是否正确。然后,点击保存更改

如果您在升级 Google Workspace 插件的过程中有疑问或遇到问题,请与我们联系

常见问题解答

以下是有关插件升级的常见问题解答:

我可以升级编辑器插件吗?

大多数编辑器插件都可以迁移到 Google Workspace 插件。但是,升级到 Google Workspace 插件无法像 Gmail 和 Google 日历插件一样简单。

如果要将编辑器插件迁移到 Google Workspace 插件,您需要将插件的界面从 HTML 重写为基于卡片的界面,并将 JavaScript 处理更新为卡片服务

现有编辑器插件中的某些服务可能不适用于卡片服务。例如,如果您的编辑器插件包含文件选择器,那么 Card Service 中没有适用于 Google Workspace 插件的等效项。

我可以构建单独的 Google Workspace 插件并保留我现有的插件吗?

欢迎使用不同品牌名称构建其他 Google Workspace 插件,但我们不允许使用与 Google Workspace 插件同名的 Gmail 或 Google 日历会议插件。如果您有任何疑问或想要申请豁免,请与我们联系

我的用户在插件升级后需要重新授权吗?

只要您的 Google Workspace 插件使用相同的基础 Cloud Platform (GCP) 项目和关联的 OAuth 客户端 ID,您的用户就不需要重新授权他们之前针对您的原始插件授权的权限。但是,如果您在升级过程中添加新范围,则您的用户必须在首次使用您的插件的 Google Workspace 版本时向这些新范围授权。

我可以将 Chrome 扩展程序升级为 Google Workspace 插件并转移用户吗?

不可以。您无法转移 Chrome 扩展程序的用户、安装和商品详情评价。您必须创建新的 Google Workspace 插件,并将 Chrome 扩展程序的用户定向到 Google Workspace Marketplace。

我的 Google Workspace 插件可以捆绑多个插件吗?

请参阅一起列出应用集成