使用 Google AppScript 内容服务将 Google 电子表格输出到 XML/RSS/Atom

Output Google Spreadsheet to XML/RSS/Atom using Google AppScript Content Service

所以我搜索了这个网站,到目前为止没有发现任何真正有用的东西来完成这个。

我想使用 google 脚本内容服务将传播sheet 转换为 RSS 提要。我如何声明列值(即 pubDate、Author、Content)以便输出正确的 RSS/Atom 提要。到目前为止,按照他们的在线示例只会输出杂乱无章的垃圾。并且没有太多的文档,他们的示例是关于如何使用已经存在的 RSS 并进行更改然后 re-output 它。从我在这里和其他网站上读到的内容来看,我应该使用内容服务来实现这一目标。 sheet 将每隔几天更新一次,我正在尝试为其创建一个 RSS。

function doGet() {
  var feed =  UrlFetchApp.fetch('https://docs.google.com/spreadsheets/d/1lPOwiYGBK0kSJXXU9kaQjG7WNHjnNuxy25WCUudE5sk/edit#gid=0').getContentText();
  return ContentService.createTextOutput(feed)
    .setMimeType(ContentService.MimeType.RSS);
}

我也试过使用:

function doGet() {
 var ss = SpreadsheetApp.openByUrl(
     'https://docs.google.com/spreadsheets/d/1lPOwiYGBK0kSJXXU9kaQjG7WNHjnNuxy25WCUudE5sk/edit');
 SpreadsheetApp.setActiveSpreadsheet(ss);
 SpreadsheetApp.setActiveSheet(ss.getSheets()[0]);
 var title = ss.getSheets()[0].getRange("A1:A");
 var link = ss.getSheets()[0].getRange("B1:B");
 var pubDate = ss.getSheets()[0].getRange("C1:C");
 var content = ss.getSheets()[0].getRange("D1:D");
 var author = ss.getSheets()[0].getRange("E1:E");
  return ContentService.createTextOutput(title)
//    .setMimeType(ContentService.MimeType.RSS);
}

但它不打印标题,只打印单词 Range

谢谢你的帮助。

getRange() 函数只分配一个范围。您需要使用 getValues()。

尝试将标题更改为此。

var title = ss.getSheets()[0].getRange("A1:A").getValues();