如何使 Google Apps 脚本库始终提供最新版本

Mow*_*zer 1 libraries google-apps-script

我有一个 Google Apps 脚本库。其他几个用户也订阅了该库。当我更新库时,我想将最新的更改推送给订阅者,而用户不需要采取任何额外的步骤,也许除了一些初步批准之外。

这可能吗?如果是这样,怎么办?

Tan*_*ike 6

您的回复评论中,我可以确认您的目标如下。

  • 您希望始终让用户使用最新版本的库,而不使用开发人员模式。

为此,这个答案怎么样?

在这个答案中,我想提出一种使用 2 个库的解决方法。

用法:

1. 创建 2 个独立脚本。

请创建 2 个独立脚本。在本例中,这些是脚本“A”和“B”。

  • 脚本“A”用作用户使用的库。
  • 脚本“B”被用作在脚本“A”处使用的库。

在这种情况下,用户使用脚本“A”作为库。您可以通过修改脚本“B”来开发该库。

2. 设置您开发的库。

请将以下脚本复制并粘贴到脚本“B”中。并且,请在脚本编辑器的“文件”->“管理版本”中提供版本。

function myFunction(e) {
  return "ok: " + e;
}
Run Code Online (Sandbox Code Playgroud)

3.设置用户使用的库。

  1. 将以下脚本复制并粘贴到脚本“A”中。

    function myFunction(e) {
      return lib.myFunction(e);
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 安装脚本“B”的库。请打开“开发模式”。在这种情况下,它假设“Identifier”是lib

    • 这样,当您修改了脚本“B”时,该脚本“A”就可以使用您修改的最新脚本。
    • 这是用作实现您的目标的包装库。
  3. 在脚本编辑器的“文件”->“管理版本”中将版本赋予脚本“A ”。

4. 在用户端安装库。

在用户端安装脚本“A”作为库。届时请关闭“开发模式”。在这种情况下,它假设“Identifier”是Lib。您可以使用以下脚本。

function myFunction() {
  const res = Lib.myFunction("sample");
  console.log(res)  // "ok: sample" is returned.
}
Run Code Online (Sandbox Code Playgroud)

这样,当您修改脚本“B”时,在脚本“A”处,可以使用最新的脚本。另一方面,用户可以使用常量版本来使用最新的库,而无需使用开发者模式。