【问题标题】:how to run google app script function from another project如何从另一个项目运行谷歌应用脚​​本功能
【发布时间】:2019-02-15 12:18:21
【问题描述】:

我有几张表具有绑定到电子表格的功能。每个电子表格都有自己的功能,并使用 SpreadsheetApp.getUi 来运行 html 服务。我想在主电子表格项目的所有工作表中启动函数调用?可能吗?比如获取电子表格项目的句柄并在该项目中运行脚本?

【问题讨论】:

  • 也许你可以考虑使用图书馆。

标签: google-apps-script


【解决方案1】:

你有两个选择:

  1. 将您的脚本发布为库,并在您的脚本项目中相互订阅。
  2. 将您的脚本发布为具有特定功能的 Web 应用程序作为单独的伪 Webhook。有点像分布式 API。

各有利弊。两者都与可维护性无关。

库选项将提供代码完成,而网络应用程序选项将允许(如果您愿意)异步运行代码。

两者都有不同的速度惩罚。如文档中所述,启用库的脚本速度较慢。由于urlfetch 延迟,Web 应用程序会变慢。

库函数将使用宿主脚本中允许的运行时,而网络应用程序将扩展运行时和一些配额。

文档:

  1. Publish your scripts as a library
  2. Running apps script as an endpoint

【讨论】:

    【解决方案2】:

    在我看来,使用库是保护代码最快、最简单的方法。 为此,您需要:

    • 1 个电子表格或任何包含代码的 google 文档 - SCRIPT A

    • 1 个作为库发布的独立脚本 SCRIPT B。

    • 在 SCRIPT A 的编辑器中 - 您添加库密钥

    • 在 SCRIPT A 代码中可以调用 SCRIPT B 的函数

      函数调用FunctionOfScriptB(){ LibraryIdentifier.functionNameinScriptB() }

    • 当您点击弹出窗口标识符列中的资源+库时,您会找到 LibraryIdentifier

    • functionNameinScriptB = 要在脚本 B 中调用的函数的名称

    【讨论】:

      猜你喜欢
      • 2021-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-10
      • 1970-01-01
      • 2021-12-04
      相关资源
      最近更新 更多