使用 "deploy from manifest "方法时,Google Spreadsheet add-on无法部署。

问题描述 投票:0回答:1

我已经为电子表格使用了5年的附加组件。我曾经从Chrome网络商店部署它们。Google 最近做出的改变使我很难通过 OAuth 授权过程,所以我想恢复到单纯为用户安装。我无法做到这一点。

电子表格加载项现在属于 "编辑器加载项"。它总是可以从 "测试为附加组件 "菜单中测试它们(驳斥),但如果你需要在各种文档上进行广泛的测试,并与其他用户共享测试,这就非常不切实际了。

GSuite附加组件"(即不用于电子表格)有一个方法描述了 那里 来部署,而无需通过网店。

有没有类似的方法可以在自己用户的Drive上部署Spreadsheet插件,而不用跳过OAuth授权的圈子?

一个简化项目的代码片段,实际上只需要最少的授权。

function onOpen(e) {
  Logger.log('Starting add-on onOpen')
  var ui = SpreadsheetApp.getUi();
  var myMenu = ui.createAddonMenu()
  myMenu.addItem('Hello add-on', 'hello')
  myMenu.addToUi();
}

function hello(){
  Browser.msgBox('Hello add-on')
}

这在 "测试作为附加组件 "的环境中是可行的,但如果不求助于GSuite市场,是不可能部署的。

我有几千行代码因为这个原因无法使用。

谢谢,Ed

google-apps-script deployment add-on
1个回答
0
投票

如果我理解正确,您希望除了您自己之外的其他用户能够找到附加组件并安装它。这就需要Google对该插件进行检查,以确保它符合公共插件的所有要求和准则。

将脚本安装为 Add-on 而不被 Google 检查的唯一方法是通过清单文件进行部署。你必须与你的测试用户分享这个文件。

您可以允许其他用户通过与他们的账户共享Apps Script项目来测试附加组件(需要读取权限),然后提示用户按照以下步骤操作 步骤.

安装后,该插件在其扩展的主机应用程序中立即可用。请记住,用户在使用附加组件之前还必须对其进行授权。

在发布之前,您可以与任意数量的测试用户分享它。


参考文献。


0
投票

经Google支持团队确认不可能。

在与GSM团队内部检查后,我可以确认,目前不支持非GSuite用户创建一个内部附加组件在多个文档中使用。使用GSuite账户执行此操作非常简单,因为你可以创建你的Add-on脚本,并仅为你的域进行私人发布。标准Gmail账户不支持这个功能。我们强烈建议使用GSuite账户,因为它将为你提供发布和分发附加组件的扩展可能性。

在这个时候,你可以使用一些变通的方法。

  • 将您的代码库复制到一个绑定到工作表的容器中。你可以在任何其他你希望你的代码工作的工作表中做这个工作。你也可以与其他用户共享工作表,并要求所有用户复制工作表供他们使用。

  • 继续发布具有公共可见性的Add-on(也许是 "未列出"),但你将不得不通过OAuth验证,因为项目被设置为公共。当你参与OAuth验证过程时,你需要告诉他们这是为公共插件而不是私人插件准备的。

我喜欢的变通方法与建议的方法类似,只是我将前一个附加组件的独立脚本作为一个库,我从容器绑定脚本中调用它。

© www.soinside.com 2019 - 2024. All rights reserved.