【问题标题】:How to make Google Apps Script library always serve the latest version如何使 Google Apps 脚本库始终提供最新版本
【发布时间】:2020-05-06 06:43:16
【问题描述】:

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

这可能吗?如果有,怎么做?

【问题讨论】:

  • 我必须为我糟糕的英语水平道歉。我无法理解I want to push the latest changers to the subscribers without the users needing to take any additionals steps beyond, perhaps, some initial approval.。特别是,我无法理解without the users needing to take any additionals steps beyond, perhaps, some initial approval.。可以问一下具体情况吗?
  • @Tanaike:换一种说法……通常,库用户需要通过打开资源选项卡菜单下的库对话框来手动更新他们使用的每个库的版本。我想避免用户需要进行手动更新并自动将新版本推送给他们,以便他们始终使用最新的更新。
  • 感谢您的回复。在这种情况下,您希望始终让用户使用最新版本的库而不使用开发人员模式。我的理解正确吗?
  • @Tanaike:是的。没错。
  • 感谢您的回复。根据您的回复,我提出了一个解决方法作为答案。你能确认一下吗?如果我误解了您的目标并且这不是您想要的方向,我深表歉意。

标签: google-apps-script libraries


【解决方案1】:

来自your replying comment,我可以确认您的目标如下。

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

对于这个,这个答案怎么样?

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

用法:

1。创建 2 个独立脚本。

请创建 2 个独立脚本。在这种情况下,它们是脚本“A”和“B”。

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

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

2。您开发的设置库。

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

function myFunction(e) {
  return "ok: " + e;
}

3。设置库用户使用。

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

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

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

4。在用户端安装库。

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

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

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

【讨论】:

    【解决方案2】:

    一般来说,答案是否定的:用户总是必须从Resources > Libraries... 菜单中选择他们想要使用的版本。 在您的用户对库脚本具有编辑权限的特定情况下,他们始终可以使用打开developer mode 的最新版本。

    对脚本具有编辑器级别访问权限的任何人都可以对库项目中的文件进行最新更改,即使它没有保存为版本。

    参考:

    Libraries

    【讨论】:

      猜你喜欢
      • 2021-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-09
      相关资源
      最近更新 更多