例如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客户端配置为遵循重定向。
如何解决这个问题?