Google Sheets 脚本只运行一次,为什么?

问题描述 投票:0回答:1

我有一个谷歌脚本函数,可以从网站获取数据。它在第一次调用时成功执行此操作(由按钮触发),但在后续调用中没有任何反应 - 页面不会重绘。

如果我手动编辑脚本(在脚本的最后一行,如下)以在每次运行后从 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")');
}
google-sheets google-apps-script google-sheets-formula
1个回答
0
投票

如果公式的参数不变,则它们不会刷新。

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)

另请参阅刷新 Google 表格中自定义函数检索的数据

© www.soinside.com 2019 - 2024. All rights reserved.