使用 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();
所以我搜索了这个网站,到目前为止没有发现任何真正有用的东西来完成这个。
我想使用 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();