如何使 Google Apps 脚本库始终提供最新版本
How to make Google Apps Script library always serve the latest version
我有一个 Google Apps 脚本库。其他几个用户订阅了该库。当我更新库时,我想将最新的更改推送给订阅者,而不需要用户采取任何额外的步骤,也许,一些初始批准。
这可能吗?如果可以,怎么做?
一般来说答案是否定的:用户总是必须从 Resources > Libraries...
菜单中 select 他们想要使用的版本。
在您的用户对库脚本具有编辑权限的特定情况下,他们可以始终使用打开 developer mode
.
的最新版本
Anyone who has editor-level access to the script has the latest changes made to the files in the library project even if it was not saved as a version.
参考:
从,我可以确认你的目标如下。
- 您想始终让用户使用最新版本的库而不使用开发者模式。
为此,这个答案怎么样?
在这个回答中,我想提出一个使用 2 个库的解决方法。
用法:
1。创建 2 个独立脚本。
请创建 2 个独立脚本。在这种情况下,这些是脚本 "A" 和 "B".
- 脚本 "A" 用作用户使用的库。
- 脚本"B"作为库在脚本"A"上使用。
在这种情况下,用户使用脚本 "A" 作为库。您通过修改脚本 "B".
来开发库
2。安装你开发的库。
请将以下脚本复制并粘贴到脚本"B"。并且,请在脚本编辑器的 "File" -> "Manage versions" 处提供版本。
function myFunction(e) {
return "ok: " + e;
}
3。安装库用户使用。
将以下脚本复制并粘贴到脚本"A".
function myFunction(e) {
return lib.myFunction(e);
}
安装 脚本库 "B"。请打开 "Development mode"。在这种情况下,它假设 "Identifier" 是 lib
.
- 这样,当您修改脚本"B"时,此脚本"A"可以使用您修改的最新脚本。
- 这是用于实现您的目标的包装库。
- 在脚本编辑器 "File" -> "Manage versions" 处将版本提供给 脚本 "A"。
4。在用户端安装库。
安装脚本"A"作为用户端的库。届时请关闭"Development mode"。在这种情况下,它假设 "Identifier" 是 Lib
。您可以使用以下脚本。
function myFunction() {
const res = Lib.myFunction("sample");
console.log(res) // "ok: sample" is returned.
}
这样,当您修改脚本"B"时,在脚本"A"处,可以使用最新的脚本。另一方面,用户可以在不使用开发者模式的情况下使用常量版本使用最新的库。
我有一个 Google Apps 脚本库。其他几个用户订阅了该库。当我更新库时,我想将最新的更改推送给订阅者,而不需要用户采取任何额外的步骤,也许,一些初始批准。
这可能吗?如果可以,怎么做?
一般来说答案是否定的:用户总是必须从 Resources > Libraries...
菜单中 select 他们想要使用的版本。
在您的用户对库脚本具有编辑权限的特定情况下,他们可以始终使用打开 developer mode
.
Anyone who has editor-level access to the script has the latest changes made to the files in the library project even if it was not saved as a version.
参考:
从
- 您想始终让用户使用最新版本的库而不使用开发者模式。
为此,这个答案怎么样?
在这个回答中,我想提出一个使用 2 个库的解决方法。
用法:
1。创建 2 个独立脚本。
请创建 2 个独立脚本。在这种情况下,这些是脚本 "A" 和 "B".
- 脚本 "A" 用作用户使用的库。
- 脚本"B"作为库在脚本"A"上使用。
在这种情况下,用户使用脚本 "A" 作为库。您通过修改脚本 "B".
来开发库2。安装你开发的库。
请将以下脚本复制并粘贴到脚本"B"。并且,请在脚本编辑器的 "File" -> "Manage versions" 处提供版本。
function myFunction(e) {
return "ok: " + e;
}
3。安装库用户使用。
将以下脚本复制并粘贴到脚本"A".
function myFunction(e) { return lib.myFunction(e); }
安装 脚本库 "B"。请打开 "Development mode"。在这种情况下,它假设 "Identifier" 是
lib
.- 这样,当您修改脚本"B"时,此脚本"A"可以使用您修改的最新脚本。
- 这是用于实现您的目标的包装库。
- 在脚本编辑器 "File" -> "Manage versions" 处将版本提供给 脚本 "A"。
4。在用户端安装库。
安装脚本"A"作为用户端的库。届时请关闭"Development mode"。在这种情况下,它假设 "Identifier" 是 Lib
。您可以使用以下脚本。
function myFunction() {
const res = Lib.myFunction("sample");
console.log(res) // "ok: sample" is returned.
}
这样,当您修改脚本"B"时,在脚本"A"处,可以使用最新的脚本。另一方面,用户可以在不使用开发者模式的情况下使用常量版本使用最新的库。