一天调用的服务次数太多了:urlfetch

时间:2017-09-26 12:37:10

标签: google-apps-script google-sheets

我在表单附加组件中收到以下错误:

Service invoked too many times for one day: urlfetch

我知道限制here,但如何判断我是否达到100,000的“URLFetch调用”或100mB的“接收的URLFetch数据”?它们是两个非常不同的问题,如果我打到第一个问题,我必须无意中在某处提出请求,因为我无法每天100k次拨打电话。我有可能达到100mb,但错误的措辞方式让我觉得我打的是第一个,无论如何都要知道我打的是哪一个?

2 个答案:

答案 0 :(得分:1)

我也遇到了。我只有1000行要访问Web服务。我的工作表和服务中的数据都没有改变。但是在今天的某个时候,我的大多数单元格都显示#Error与该原因有关。

我觉得要经常重新获取结果了。没有一些可以使用的缓存吗?


更新(需要较长时间):完全需要添加缓存。因此,我实现了一个功能fetch(url),该功能使用了缓存,从而避免了重复调用。

function fetch(url) {
  var cache = CacheService.getScriptCache();
  var result = cache.get(url);
  if(!result) {
    var response = UrlFetchApp.fetch(url);
    result = response.getContentText();
    cache.put(url, result, 21600);
  }
  return result;
}

答案 1 :(得分:0)

你目前无法做到。

也许在你的脚本中运行一个计数器。