在我的脚本中,我正在从电子表格中读取数据并创建基于时间的触发器,以便在特定时间使用某些数据发出POST请求 .
问题是,我找不到任何方法将数据传递给触发器调用的函数 . Google App Script doc提供的所有内容都是能够命名要调用的函数,但无法传递参数 .
var triggerDay = new Date(2012, 11, 1);
ScriptApp.newTrigger("makePostRequest")
.timeBased()
.at(triggerDay)
.create();
有谁知道如何传递 makePostRequest
参数,以便函数将执行所需的数据?
4 回答
我不确定它是否能解决您的具体问题,但我发现最方便的解决方法是在没有参数的函数中包含参数的函数,然后从您设置的静态变量中获取参数脚本的顶级 .
您仍然需要在脚本中设置值,但至少可以将逻辑分开,以便您可以使用具有不同值的基本函数 .
这是可能的,但需要多个步骤 . 这里最重要的是event objects(@ St3ph提到) .
如果您还将脚本属性用于其他值,则可能必须嵌套触发器值 .
此外,您可能必须使用script lock来防止并发修改脚本属性 .
从触发器启动函数时,无法传递参数 .
您必须将此信息存储在某处以允许脚本找到它 . 例如,根据您所说的我理解您在电子表格中有一些数据,您可以将此信息放在电子表格中 . 该功能将根据触发时间管理查找适当信息的方式 .
斯特凡
triggerDay
是Trigger,有uniqueid .makePostRequest
的第一个参数是Time-driven event,它有未记录的属性"triggerUid",所以说@ St3ph你需要以某种方式存储对你的"uniqueid"和"parameters"并通过"triggerUid"从存储中获取它