使用Google Apps脚本创建的RSS Feed因页面重定向而无法验证

时间:2018-06-11 03:52:34

标签: google-apps-script rss

例如this可以直接在浏览器上正常工作:

function doGet() {
  var feed = UrlFetchApp.fetch('http://xkcd.com/rss.xml').getContentText();
  feed = feed.replace(/(<img.*?alt="(.*?)".*?>)/g,
         '$1' + new Array(10).join('<br />') + '$2');
  return ContentService.createTextOutput(feed)
    .setMimeType(ContentService.MimeType.RSS);
}

但没有rss阅读器可以阅读它,W3C无法验证它。但是,它可以验证输出(以https://script.google.com/d/1MzzONi7izfSAeOSEN5pZxO5XDzYLyO_80CJcNDo81hTubi-goQlh4Vym/exec为前缀的加载view-source:,并将输出复制粘贴到W3C's direct input feed validator

据我所知,这个问题是:

  

出于安全原因,内容服务返回的内容不会从script.google.com提供,而是重定向到script.googleusercontent.com上的一次性网址。这意味着如果您使用Content服务将数据返回到另一个应用程序,则必须确保HTTP客户端配置为遵循重定向。

如何解决这个问题?

类似的问题herehere,但他们的答案并没有解决问题。

0 个答案:

没有答案