电子表格的Google脚本:如何为"永远保存价值?#34;?

时间:2015-03-23 16:23:49

标签: javascript google-apps-script google-sheets

我为我的Spreadsheets构建了一个Google Script,该脚本会查询每次查询时需要付款的外部API。

我希望我的脚本在内存中保留已加载的值(意味着如果我没有更改此脚本使用的其他单元格),以避免每次查询API我加载页面的时间。

我考虑过使用缓存,尤其是CacheService.getDocumentCache(),但它不是长期存储。

有更好的选择吗?

2 个答案:

答案 0 :(得分:1)

您可以将电子表格本身用作长期存储空间。保存所使用的参数和返回值,并在每次查询外部API之前进行检查。

如果数据不是太多,Properties Services也可能适合您。但如果它太多了"数据它不起作用。好吧,即使是电子表格也有一些限制。在这种情况下,您可以尝试将Google云端硬盘中的常规文件用作存储空间或external database via JDBC

但是如果你需要到达那里,你的脚本可能会开始点击other Apps Script quotas,这可能会阻止你完全使用它。

答案 1 :(得分:1)

比SpreadsheetApp快一点就是在Google云端硬盘中另存为JSON:

function saveFile(){
  var transactions = {'ben@gmail.com ': 1238190238, 'dora@gmail.com' : 1238190238, 'ksd@gmail.com' : 1238190238};
  return DriveApp.createFile('Transactions', JSON.stringify(transactions ));
}

function getFile(){
  var file = DriveApp.getFilesByName('Transactions').next();
  return JSON.parse(file.getAs("application/none").getDataAsString());
}