Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如何从其他项目运行google应用程序脚本功能_Google Apps Script - Fatal编程技术网

Google apps script 如何从其他项目运行google应用程序脚本功能

Google apps script 如何从其他项目运行google应用程序脚本功能,google-apps-script,Google Apps Script,我有几张表的功能绑定到电子表格。每个电子表格都有自己的功能,并使用SpreadsheetApp.getUi运行html服务。我想在主电子表格项目的所有工作表中启动函数调用?可能吗?例如获得电子表格项目的句柄并在该项目中运行脚本?您有两种选择: 将脚本发布为库,并在脚本项目中相互订阅 将脚本发布为web应用程序,并将特定功能作为单独的伪Webhook。有点像分布式API 每种方法都有优点和缺点。两者都不是关于可维护性的 library选项将提供代码完成功能,而web app选项将支持(如果您愿意)

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

您有两种选择:

  • 将脚本发布为库,并在脚本项目中相互订阅
  • 将脚本发布为web应用程序,并将特定功能作为单独的伪Webhook。有点像分布式API
  • 每种方法都有优点和缺点。两者都不是关于可维护性的

    library选项将提供代码完成功能,而web app选项将支持(如果您愿意)异步运行代码

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

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

    文件:


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

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

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

    • 在脚本A的编辑器中- 您可以添加库密钥

    • 在脚本A代码中,可以调用脚本B的函数

      函数callFunctionOfScriptB(){ LibraryIdentifier.functionNameinScriptB() }

    • 在弹出窗口的“标识符”列中单击“资源+库”时,可以找到LibraryIdentifier

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

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