我需要找到一种方法,让一个Google Apps脚本文件触发另一个脚本文件中的函数。
我的目标是有一个主脚本,它复制另一个脚本文件并创建一个新文件(这已经完成),然后在新文件中触发一个函数。这个是可能的吗?
我正在创建一系列完全自动化的工作申请脚本,我需要的是一个主脚本,创建每个其他脚本。目前,每个求职申请都有如下文件结构:
-Folder --步骤1(用于简历上传的脚本文件)--步骤2(带有用于存储步骤1数据的附加脚本文件的电子表格)--步骤3(带有附加脚本文件的面试日程安排表)--步骤4(带有附加脚本文件的技能测试电子表格)--步骤5(用于技能测试文件上传的脚本文件)
我需要的是:
-My主脚本需要能够为不相关的脚本文件1-5创建触发器,如果我可以动态创建和附加新函数到这些文件,我也会更喜欢它。我不能将所有代码放在一个文件中,因为每个求职申请都需要一个独特的表单,其中包含不同的问题和不同的工作描述。
发布于 2014-12-14 03:58:52
我假设你是指一个完全不同的项目文件中的脚本文件,或者甚至是一个不同的Google Drive?只需调用函数名,就可以触发位于同一项目中的不同脚本文件中的脚本。应用程序脚本不需要在另一个脚本文件中包含一个脚本文件。所有GS脚本文件都可用于其他所有GS脚本文件。
可以将Apps脚本项目用作“独立的”内容服务应用程序,并获得返回值。必须使用HTTPS GET或POST请求调用Apps脚本项目。例如,您可以使用来自客户端或服务器端代码的AJAX调用来完成此操作。
应用程序脚本有一个urlFetchApp.fetch
方法,它将发出GET、PUT、POST或DELETE请求。
Google Documentation - urlFetchApp
原始的HTTPS调用只能触发doGet()
或doPost()
函数。但是这些函数可以调用特定的函数,然后发送返回。
Stackoverflow answer - return from a specific function
也可以创建一个可以在多个脚本中重用的“库”。
Google Documentation - Libraries
您可以使脚本在工作表或文档打开时自动运行。因此,如果新的应用程序脚本在一个工作表中,并且该工作表有一个onOpen()
函数,则该函数可能会以这种方式触发。但是你需要找到一种方法来打开工作表或文档。
在浏览器中调用独立的Apps script URL时自动运行的doGet()
函数可以获取URL搜索字符串参数。因此,您可以在调用Apps脚本的URL中放置一个搜索字符串参数,然后Apps脚本可以根据搜索字符串值执行某些操作。例如,当应用程序第一次运行时,如果你想打开主页以外的其他东西,这取决于用户选择的某些条件。
发布于 2014-12-14 03:43:00
您可以做到这一点,但不是安全的。
您可以通过在web上公开函数来触发该函数。您可以使用参数告诉它要运行哪个函数。
https://stackoverflow.com/questions/27462042
复制相似问题