我有一个从Amazon提取数据的API函数,我需要分别拥有'fetch‘& 'get’报告函数来实现对
script.newtrigger。function fetchReportMarketListTrig() {
fetchReportMarketList(true);
ScriptApp.newTrigger("getReportsForAccountMarketListTrig")
.timeBased()
.after(2* 60 * 1000)
.create();
Logger.log("Report Request Created");
}当我从menuitems手动触发该函数时,getReportsForAccountMarketListTrig将在2分钟后被调用。但是,如果设置了自动触发器,fetchReportMarketListTrig就不能调用getReportsForAccountMarketListTrig。我们需要寻找为什么工作表的行为不同于手动触发器和自动触发器的答案。非常感谢!
发布于 2020-10-28 09:53:45
答案:
您有两个名称相同的函数!在为该函数创建触发器时,这会产生未定义的行为。
更多资料:
在为触发器提供的屏幕截图中,将显示以下警告:

同一个项目中的函数必须始终具有唯一的名称!
想象一下以下代码:
function doSomeMath() {
var x = 1 + 2;
console.log(x);
}
function doSomeMath() {
var x = 100 + 200;
console.log(x);
}然后你让你的触发器运行函数doSomeMath() -它怎么知道你指的是哪一个?
修正:
这里的相似之处在于,代码罐装fetchReportMarketListTrig中的另一个函数是在基于时间的触发器上运行的,而不是您想要运行的触发器。
要解决这个问题,请搜索脚本文件中名为fetchReportMarketListTrig的函数,并将它们重命名,以便它们是唯一的。然后,您可以在您想要的函数上设置触发器。
https://stackoverflow.com/questions/64548461
复制相似问题