上述所有工作都相当不错,发展也不是太繁重。
现在我希望生成的电子表格有侧边栏。到目前为止我发现的替代方案似乎都有问题:
我知道我可以让我的客户端让我成为他们谷歌应用程序域的管理员,然后我可以将脚本项目发布为受域限制的附加组件。对于开发和发展而言,这种替代方案似乎很繁琐。用法:
我可以为模板电子表格提供绑定脚本。显然,这将被复制。 绑定脚本无法与node-google-apps-script一起使用,因此我将无法使用copy&粘贴更新。对脚本的更新需要手动更新每个现有的电子表格!但是,我可以将侧边栏设置为从脚本项目中提取实际内容的骨架。
有更好的方法吗?
答案 0 :(得分:1)
基本上,您可以做的是将编程的所有侧边栏创建部分绑定到您创建的库。在您使用的模板化电子表格中,您只需执行以下操作:
图书馆职能:
google.script.run
容器绑定处理程序:
function getSomeNum() {
return 3;
}
function doSomething(e) {
return e.num * 2;
}
var runFunction = {
getSomeNum : getSomeNum,
doSomething : doSomething
};
function runHandler(functionName, parameters) {
return runFunction[functionName](parameters);
}
来自侧边栏的示例google.script.run调用:
function runHandler(functionName, parameters) {
return MyLibraryIdentifier.runHandler(functionName, parameters);
}
请记住,任何需要使用此侧边栏的用户必须至少具有对该库的查看权限。我最终做的是为任何人部署API Executable,然后将脚本的共享设置为public-view,但必须有链接。这是唯一可以让它成为多个用户的东西。
另一个缺点是更新库的代码时,除非您更改它们正在使用的库版本,否则不会更新容器绑定脚本。这意味着用户必须主动寻找更新的库版本。在更新API可执行文件时,该菜单给您的印象是您可以只更新当前版本,但我没有任何运气来实际获取它以反映更改(也许我只是没有耐心)。 / p>
至少应该为您提供开始测试的基线。