Google Apps脚本UrlFetchApp.fetch返回缓存副本

时间:2012-11-15 18:39:54

标签: google-apps-script

我在google apps脚本中使用UrlFetchApp来执行get,如下所示:

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

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

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

1 个答案:

答案 0 :(得分:9)

我能够通过在我的Cache-Control标头中使用“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似乎已关闭。