目前,我正在尝试更新google中1600-2000行的数据。我正在解析来自API提取的数据,但由于更新时间太长,所以一直超时。我真的不知道如何在不给出API的情况下发布可重用的代码,这是我做不到的。有人知道我怎样才能加快这一进程吗?
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;
});}
发布于 2022-03-01 22:00:42
试着做这样的事情:
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);
}参考资料:
https://stackoverflow.com/questions/71314908
复制相似问题