【问题标题】:Service invoked too many times for one day: urlfetch一天服务调用次数过多:urlfetch
【发布时间】:2017-09-26 12:37:10
【问题描述】:

我的表格插件出现以下错误:

Service invoked too many times for one day: urlfetch

我知道here 的限制,但是我如何判断我是在达到 100,000 的“URLFetch 调用”还是 100mB 的“收到的 URLFetch 数据”?它们是两个非常不同的问题,如果我遇到第一个问题,我一定是在某个地方无意中提出请求,因为我不可能每天故意拨打 10 万次电话。有可能我达到了 100mb,但是错误表述的方式让我觉得我正在击中第一个,有没有办法确定我击中的是哪一个?

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案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;
    }
    

    【讨论】:

      【解决方案2】:

      你目前做不到。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多