Google Apps ScriptでRSS配信

imabari.hateblo.jp
上記より取得したリンクからRSSを作成

Google Apps Scriptでお手軽RSS配信サービスを作る | infoScoop開発者ブログ

server.gs

// Script-as-app template.

var spreadSheetId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
var spreadSheet;
var range;

function doGet() {
  // スプレッドシート取得
  spreadSheet = SpreadsheetApp.openById(spreadSheetId);

  // 100x3セルのデータを一度に取得しておく
  range = spreadSheet.getSheetByName('Reader').getRange(1, 1, 100, 3);

  // テンプレート呼び出し(rssTemplate.html)
  var output = HtmlService.createTemplateFromFile('rssTemplate');
  var result = output.evaluate();

  // コンテントタイプ指定
  return ContentService.createTextOutput(result.getContent()).setMimeType(ContentService.MimeType.XML);
}

// 行データ取得
function getRowData(rowNum) {
  return range.getValues()[rowNum];
}

// 日付取得
function getRowDate(rowNum) {
  var text = range.getValues()[rowNum];
  var date = new Date(text[2].substr(0, 19).replace('T', ' ').replace(/-/g, '/'));

  return Utilities.formatDate(date, 'JST', 'EEE, d MMM yyyy HH:mm:ss Z');
}

// シートのタイトル取得
function getSpreadSheetTitle() {
  return spreadSheet.getName();
}

// シートのリンク取得
function getSpreadSheerLink() {
  return spreadSheet.getUrl();
}

spreadSheetIdはスプレッドシートのURL
https://docs.google.com/spreadsheets/d/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/edit#gid=0
の部分をコピペ

rssTemplate.html

<rss version="2.0"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:dc="http://purl.org/dc/elements/1.1/">

<channel>
 <title><?= getSpreadSheetTitle() ?></title>
 <link><?= getSpreadSheerLink() ?></link>
 <description />
 
  <?
 for(var i=0;i<100;i++){
 if(!getRowData(i)[1]) continue;
 ?>
 
  <item>
 <title><?= getRowData(i)[0] ?></title>
 <link><?= getRowData(i)[1] ?></link>
 <pubDate><?= getRowDate(i) ?></pubDate>
 <dc:creator>(名前)</dc:creator>
 <category />
 <description />
 </item>
 <? } ?>

</channel>

</rss>

server.gsを公開-Webアプリケーションとして導入
www.ka-net.org

imabari.hateblo.jp
imabari.hateblo.jp
imabari.hateblo.jp