gpt4 book ai didi

google-apps-script - Google 工作表未更新自定义函数返回值

转载 作者:行者123 更新时间:2023-12-03 23:30:47 24 4
gpt4 key购买 nike

我对 Google Apps Script(以及 JavaScript,就此而言)非常陌生,但我一直在尝试修补它以获得乐趣。

我尝试编写一个脚本来在 Google Sheets 中获取 API 价格数据,但我发现在同一单元格中重新评估脚本时返回的值没有更新。

下面是从 Coinbase 的 API 获取比特币价格数据的脚本。该脚本解析请求的 JSON 响应,如 here 所述。 .

function getBTCPrice() {
var url = "https://api.coinbase.com/v2/prices/BTC-USD/spot";
var response = UrlFetchApp.fetch(url);

var jsonSpotPrice = response.getContentText();
var parseSpotPrice = JSON.parse(jsonSpotPrice);
var price = "$" + parseSpotPrice.data.amount;

return price
}

现在,如果我输入 =getBTCPrice()在某个单元格中,然后稍后重新评估,我得到相同的价格;但是,如果我在不同的单元格中评估脚本,则会得到不同的结果。

我已经阅读了一些关于 Google 在单元格中缓存值的内容,因此可能不会评估脚本,因为单元格的值没有改变。这是这里的情况吗?如果是这样,是否有解决方法?

任何帮助是极大的赞赏!

最佳答案

看看这个答案 Refresh data retrieved by a custom function in google spreadsheet .

正如回答者所说,诀窍是

My solution was to add another parameter to my script, which I don't even use. Now, when you call the function with a parameter that is different than previous calls, it will have to rerun the script because the result for these parameters will not be in the cache.



维克

关于google-apps-script - Google 工作表未更新自定义函数返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44774965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com