我已经为电子表格使用了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支持团队确认不可能。
在与GSM团队内部检查后,我可以确认,目前不支持非GSuite用户创建一个内部附加组件在多个文档中使用。使用GSuite账户执行此操作非常简单,因为你可以创建你的Add-on脚本,并仅为你的域进行私人发布。标准Gmail账户不支持这个功能。我们强烈建议使用GSuite账户,因为它将为你提供发布和分发附加组件的扩展可能性。
在这个时候,你可以使用一些变通的方法。
将您的代码库复制到一个绑定到工作表的容器中。你可以在任何其他你希望你的代码工作的工作表中做这个工作。你也可以与其他用户共享工作表,并要求所有用户复制工作表供他们使用。
继续发布具有公共可见性的Add-on(也许是 "未列出"),但你将不得不通过OAuth验证,因为项目被设置为公共。当你参与OAuth验证过程时,你需要告诉他们这是为公共插件而不是私人插件准备的。
我喜欢的变通方法与建议的方法类似,只是我将前一个附加组件的独立脚本作为一个库,我从容器绑定脚本中调用它。