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