首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否存在使用google脚本加快批处理更新代码的问题?

是否存在使用google脚本加快批处理更新代码的问题?
EN

Stack Overflow用户
提问于 2022-03-01 21:37:20
回答 1查看 171关注 0票数 1

目前,我正在尝试更新google中1600-2000行的数据。我正在解析来自API提取的数据,但由于更新时间太长,所以一直超时。我真的不知道如何在不给出API的情况下发布可重用的代码,这是我做不到的。有人知道我怎样才能加快这一进程吗?

代码语言:javascript
复制
    function logDataInEveryCell3() {
  const ss = SpreadsheetApp.getActive();
  const vs = ss.getRange("A2:A1669").getValues().flat();
  const osh = ss.getSheetByName("Sheet1");
  let row = 2;
  vs.forEach(e => {
    let res = UrlFetchApp.fetch("https://api” + e +token");
    let obj = JSON.parse(res.getContentText());
    let items = obj["dispatches"]["items"];
    let vo = items.map(itm => [itm.vehicle.driver.contact.name])
    vo2 = vo.slice(-1);//good idea
    osh.getRange(row,3).setValues(vo2);
    row += vo2.length;
  });

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-01 22:00:42

试着做这样的事情:

代码语言:javascript
复制
function logDataInEveryCell() {
  const ss = SpreadsheetApp.getActive();
  const vs = ss.getRange("A2:A51").getValues().flat();
  const osh = ss.getSheetByName("Sheet1");
  osh.clearContents();
  let l = 1;
  let a = [];
  vs.forEach(e => {
    let res = UrlFetchApp.fetch("API" + e + "Token");
    let obj = JSON.parse(res.getContentText());
    let items = obj["dispatches"]["items"];
    let vo = items.map(itm => [itm.vehicle.driver.contact.name])
    a.push(vo.slice(-1));
  });
  a.flat(1);
  osh.getRange(l,1,a.length,a[0].length).setValues(a);
}

参考资料:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71314908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档