我有一个谷歌脚本函数,可以从网站获取数据。它在第一次调用时成功执行此操作(由按钮触发),但在后续调用中没有任何反应 - 页面不会重绘。
如果我手动编辑脚本(在脚本的最后一行,如下)以在每次运行后从 csv 来回更改为 web,那么它就可以工作。我错过了什么?
function refresh() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("sheet4");
sheet.getRange(1,2).setFormula('importdata("https://ottoneu.fangraphs.com
/mockdraftresultsexport/93?csv=1")');
}
如果公式的参数不变,则它们不会刷新。
IMPORTDATA
每小时左右自动刷新一次。 不过,您可以向 url 添加随机数以强制刷新(假设服务器不介意):
const url="...";//url without query parameters(url before the "?")
const formula = `importdata(${url}?csv=1&rand=${Math.random()}")`
sheet.getRange(1,2).setFormula(formula)