google-apps-script - Google Apps-script UrlFetchApp.fetch 返回缓存副本

标签 google-apps-script

我在谷歌应用程序脚本中使用 UrlFetchApp 来执行获取,如下所示:

var optAdvancedArgs = {
    "method": "GET",
    "headers": {"Cache-Control": "no-cache", "Pragma": "no-cache"}, 
};
var response = UrlFetchApp.fetch(url, optAdvancedArgs);

尽管我尝试禁用 header 中的缓存,但我得到的响应始终是缓存副本。如果我使用相同的 url 在我的控制台中执行 wget,我会看到收到一个最新版本。

我的问题是:如何在执行 UrlFetchApp.fetch 时真正禁用缓存?我的代码有问题吗?

最佳答案

我能够通过在我的 Cache-Control header 中使用“max-age=0”来克服这个问题,例如:

var url = "http://www.stackoverflow.com";
var options =
  {
    // Ensure we get a fresh copy of the site every time.
    headers : {'Cache-Control' : 'max-age=0'}
  };
var response = UrlFetchApp.fetch(url, options)

听起来 Google App Engine 有一个 similar problem .有人opened an issue不过好像已经关门了。

关于google-apps-script - Google Apps-script UrlFetchApp.fetch 返回缓存副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13404003/

相关文章:

mysql - 在Google Apps脚本中执行存储过程

javascript - 为什么所有字段在 Data Studio 中都显示为维度?

google-apps-script - 如何从 HTML 服务中的列表框获取值

email - 从 Google Script 发送电子邮件时消息被阻止

javascript - Google 脚本 XML 解析

javascript - 获取电子表格行的匹配值

google-apps-script - 应用程序脚本强制谷歌表格中的特定行高

javascript - 从 Chrome 扩展程序内部写入 Google 文档

google-apps-script - 以编程方式测试 Google Sheet 单元格是否在命名范围内

google-apps-script - 通过绘图启动的脚本激活范围时,无需在键入之前单击