在Google Apps脚本中通过ScriptApp
类创建触发器时,触发器调用的函数的参数只是一个字符串,例如:
ScriptApp.newTrigger('renewAuthorization')
.timeBased().everyMinutes(30)
.create();
RenewAuthorization
函数定义如下:
function renewAuthorization(key) {
var refreshToken = PropertiesService.getScriptProperties()
.getProperty(key + "_RefreshToken");
}
我正在处理的项目需要使用定义的键值触发此函数 - 因此我无法指示应该每隔30分钟使用一组参数触发函数,例如,传递给函数的字符串参数。
我知道我可以创建包装器函数来使用定义的键调用原始函数。我能做到这一点:
function callRenewAuthorizationForClient1(){
RenewAuthorization("Client1")
}
然后以这种方式运行创建触发器的函数:
ScriptApp.newTrigger('callRenewAuthorizationForClient1')
.timeBased().everyMinutes(30)
.create();
但是出于所有实际原因,这不是一个选项,因为每次创建新密钥时都必须创建包装函数。
那么,有没有办法通过代码创建使用一组参数调用函数的触发器,而无需创建包装函数?
或者,如果这是不可能的,
有没有办法创建这些包装函数,或者可能是一些代表它们的函数别名,而不必手动进入代码?
您将不得不使用另一个脚本属性,保存为“key”并首先获取其值。