升级已发布的插件

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

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

第 1 步:复制插件的 Apps 脚本项目

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

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

第 2 步:集成 Google Workspace 插件

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

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

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

第 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 插件创建版本化部署。请勿尝试使用头部署进行发布。

  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. 确认您在表单中输入的信息正确无误。然后,点击 Save changes

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

FAQ

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

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

大多数编辑器插件都可以迁移到 Google Workspace 插件。不过,它们不像 Gmail 和 Google 日历插件一样容易升级到 Google Workspace 插件。

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

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

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

您可以采用不同的品牌名称构建其他 Google Workspace 插件,但我们不允许单独的 Gmail 或日历会议插件使用与您的 Google Workspace 插件相同的品牌名称。如果您有任何疑问或想申请按例外情况处理,请与我们联系

插件升级后,用户是否需要重新授权?

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

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

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

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

请参阅一并列出应用集成