我的Google电子表格公式如下
function mydata(para1, para2, para3){
var myurl = "http://someurl/data2?one="+ para1 +"&two=" + para2 + "&three="+para3;
var result = UrlFetchApp.fetch(myurl);
var result1 = Utilities.jsonParse(result.getContentText());
if (result1.length === 0){
return null;
}else{
return result1;
}
}
我在电子表格中使用过400次这个公式。问题是存在此公式的许多单元格显示错误为Error: Service invoked too many times in a short time: urlfetch. Try Utilities.sleep(1000)
这是第一期。
如果我编辑该公式单元格并再次单击..然后错误仍然存在。它应该重新加载/重新计算该公式。这是我的第二个问题。
许多stackoverflow解决方案和各种博文建议尝试使用Utilities.sleep(1000)
;但在这里我该如何使用它?我没有运行任何循环,在每个循环中我应该像这样等待。那么如何在这里控制这种行为。
也是在第2期;我认为谷歌电子表格正在缓存结果;但我没有得到如何修改/改变“onEdit”
答案 0 :(得分:0)
许多stackoverflow解决方案和各种博文建议尝试使用Utilities.sleep(1000);但在这里我该如何使用呢?
在网址提取请求之后就可以了。即使您没有运行任何循环,也必须调用该函数以便Google返回该错误。如果你在onEdit中调用该函数,那么这将导致函数被调用很多。如果您需要帮助来弄清楚函数被调用的原因,请分享更多代码。
function mydata(para1, para2, para3){
var myurl = "http://someurl/data2?one="+ para1 +"&two=" + para2 + "&three="+para3;
var result = UrlFetchApp.fetch(myurl);
Utilities.sleep(1000);
var result1 = Utilities.jsonParse(result.getContentText());
if (result1.length === 0) {
return null;
} else {
return result1;
}
}