api - 谷歌工作表功能 UrlFetchApp - 调用过多和错误
问题描述
我有一个包含数百个数据的谷歌表,每天刷新一次。为了刷新这些数据,我使用了四个不同的函数,每个函数都使用 Urlfetchapp 进行外部 API 调用。
我注意到某些单元格由于调用和刷新过多而出错。我使用了缓存,但似乎无法解决问题
function div(symbol,x) {
var url = 'https://example.com'+symbol+'';
var params = {
headers: {
'Content-Type': "application/json", 'Accept': "application/json",
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.97 Safari/537.36'
},
muteHttpExceptions: true,
method: "GET",
contentType: "application/json",
validateHttpsCertificates: false,
};
var cache = CacheService.getScriptCache();
var result = cache.get(url);
var response = UrlFetchApp.fetch(url, params);
var html = response.getContentText();
const j_obj = JSON.parse(html);
cache.put(url, j_obj, 86400);
// coupon
var coupon = j_obj["data"]["0"]["attributes"]["coupon"];
// coupon2
var coupon2 = j_obj["data"]["0"]["attributes"]["coupon2"];
// Croissance moyenne sur 5 ans
var coupon3 = j_obj["data"]["0"]["attributes"]["coupon3"];
if (x == "coupon"){return coupon;}
if (x == "coupon2"){return coupon2;}
if (x == "coupon3"){return coupon3;}
}
我在每个单元格中插入了对该函数的调用。例如:=div(b2;"coupon"), =div(c2;"coupon")....=div(b3;"coupon2")
我认为同时对 api 的调用太多并且它饱和了。有没有办法每天只刷新一次单元格?
你看到其他解决方案了吗?
谢谢
解决方案
推荐阅读
- javascript - javascript的命令行执行:document.click.submit()
- android - 片段中的 NoSuchMethodError 与 Cardview 和 RecyclerView 连接到 Firebase
- sass - Prepros 无法处理在 Ubuntu 14.04 上找不到的 Sass 文件版本“GLIBCXX_3.4.20”
- python - 在 Folium 中将透明样式传递给 GeoJSON
- arduino - arduino-esp32 通过 BLE 进行 OTA
- ruby-on-rails - 当验证返回 false 时,Rails AASM 不会回滚
- go - 刷新后如何打印下一行?
- python - 在数据集中查找第二个最近的点
- sql - 仅当数据在 oracle 发生更改时如何更新数据?
- ios - reCAPTCHA 在 iOS 10 UIWebView 中不起作用