使用Google AppScript Content Service将Google电子表格输出到XML / RSS / Atom

时间:2015-06-17 10:29:12

标签: xml google-apps-script rss google-sheets google-docs

所以我搜索了这个网站,发现到目前为止没有什么真正有用的。

我想使用Google脚本内容服务将电子表格转换为RSS Feed。如何声明列值(即pubDate,Author,Content),以便输出正确的RSS / Atom提要。按照他们的在线示例到目前为止只输出杂乱的垃圾。并没有太多的文档,他们的例子是关于如何获取已经存在的RSS并进行更改然后重新输出它。从我在这里和其他网站上看到的内容服务,我应该用它来实现这一点。该表每隔几天就会更新一次,我正在尝试为它创建一个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

谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

getRange()函数仅指定范围。你需要使用getValues()。

尝试将标题更改为此。

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