测试未发布的 Apps 脚本插件的安装

Testing the installation of an unpublished Apps Script add-on

我正在开发 container-bound Apps Script add-on. I need to demonstrate the installation process as part of the OAuth verification process。我无法在没有 OAuth 验证的情况下发布我的附加组件,而且似乎没有任何其他方式来演示安装。

我考虑过的一些选项是:

所以我觉得我陷入了一个不幸的循环,在这个循环中我永远无法在我的应用程序未经验证的情况下对其进行验证。

没有文档说明如何显示未被接受的加载项的安装过程。如果你想最终发布附加组件 publicly,那么唯一的解决方案是先将附加组件 publicly 发布为 "unlisted." 然后你可以删除 "unlisted" 状态稍后。

将一个附加组件批准为私有,然后尝试将其再次发布为 public 是行不通的。您不能将 GCP 项目从私有更改为 public 列表,并且 GCP 项目有自己的 ID。批准直接 linked 到 GCP 项目。 public 列表需要一个完全不同的 GCP 项目,并且需要重新完成审批流程。所以,这没有任何意义去尝试。

安装视频中必须显示 OAuth 客户端 ID。该 ID 显示在授权对话框的地址栏中。您需要加宽对话框,以便整个 ID 可以显示在地址栏中。这样,正在查看您的附加安装视频的人就可以看到 OAuth ID 是相关的。否则,您可以为任何项目创建任何视频,然后提交以供审核。他们需要查看 OAuth 客户端 ID。

您可以以未列出的形式发布和加载项,即使未获批准,它也会出现在 GSuite Marketplace 中。未经批准的附加组件将在 100 次安装时停止允许安装。但是,没有人会看到您未列出的附加组件,并且在完成安装视频之前您不会获得 100 次安装。 (只要您不与任何人分享未列出的 link)

另一个问题是,未经批准的加载项会显示一条警告消息,并让您单击 "advanced" link 以获取批准对话框。您不需要在视频中显示这一点。如果您使用的屏幕录制应用程序可以编辑视频,那么您可以将其编辑掉。或者您可以稍后在附加组件获得批准后将其删除。 Google 可能会将您的视频保存为某个 GCP 项目要求某些权限的证据。您 post public 可能会编辑视频。除非您更改范围,否则它们不需要其他批准。

事实上,我根本没有发布它就能做到这一点。按照@TheMaster 的建议,我创建了一个 new standalone Apps Script project,然后从我之前的插件中复制了所有代码。

然后,我 运行 运行 → 在 Apps 脚本 IDE 中作为插件进行测试,选择一个电子表格进行测试,然后点击插件菜单.注意:您必须实际点击一个附加菜单项,在此之前不会出现授权屏幕。

这一次,因为插件现在是独立的,这提示我授权,看起来像这样:

此时如果您开始录制,它会显示所需的授权提示,包括 window URL 栏中的客户端 ID。我将此视频提交给 Google 的 OAuth 验证,他们接受了,所以看起来这是最简单的方法。