GoogleスプレッドシートをRSSにする方法
GoogleアナリティクスのランキングをRSSにするため、スプレッドシートをRSSに書き出しました。
Google アナリティクスのアドオンを使って、ランキングを作ります。
pubDateは公開日を入れたかったのですが、取得してなかったのでとりあえずデータ取得日を入れました。
このシートをRSSで出力します。
スプレットシートをRSSで公開する
以前は、「ウェブに公開」で、RSSでも公開ができたのですが、現在はありません。
参考にしたのはこちら。
Google Apps Scriptでお手軽RSS配信サービスを作る
http://www.infoscoop.org/blogjp/2014/11/27/gas-rss-service/
参考というか、ほぼそのままですが、メモ程度にまとめます。※上記ページは無くなってしまったようです。メモしててよかった。
jsファイルを作る
拡張機能→Apps Scriptを起動します。
「無題のプロジェクト」をクリックして名前を変更します。
「RSS」とします。何でも大丈夫です。
デフォルトの「コード.gs」に書かれている以下のコードを消します。
function myFunction() { }
以下のコードに置き換えます。
// Script-as-app template. var spreadSheet; var range; function doGet() { // スプレッドシート取得 spreadSheet = SpreadsheetApp.getActiveSpreadsheet(); // 20x20セルのデータを一度に取得する range = spreadSheet.getSheetByName('シート1').getRange(2, 1, 20, 20); // テンプレート呼び出し(forRss.html) var output = HtmlService.createTemplateFromFile('forRss'); var result= output.evaluate(); // コンテントタイプ指定 return ContentService.createTextOutput(result.getContent()) .setMimeType(ContentService.MimeType.XML); } // 行データ取得 function getRowData(rowNum){ return range.getValues()[rowNum]; } // シートのタイトル取得 function getSpreadSheetTitle(){ return spreadSheet.getName(); } // シートのリンク取得 function getSpreadSheerLink(){ return spreadSheet.getUrl(); }
HTMLファイルを作る
スプレットエディタのファイル→HTMLを選びます。
ファイル名は「forRss」とします。
デフォルトで記述されている以下のコードを削除します。
<!DOCTYPE html> <html> <head> <base target="_top"> </head> <body> </body> </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<10;i++){ if(!getRowData(i)[1]) continue; ?> <item> <title><?= getRowData(i)[2] ?></title> <link><?= getRowData(i)[1] ?></link> <pubDate><?= getRowData(i)[3] ?></pubDate> <dc:creator></dc:creator> <category /> <comments><?= getRowData(i)[0] ?></comments> </item> <? } ?> </channel> </rss>
</item>の中は適宜変更してください。順位は、使わない「comments」に入れました。
RSSで公開する
forRss.htmlを公開します。
htmlを選択した状態で「デプロイ」→「新しいデプロイ」を選択します。
ウェブアプリを選択します。
必要な項目を入力/選択してデプロイします。
承認画面で承認します。
デプロイが作成されます。ウェブアプリのURLで作成したRSSフィードを確認してください。
完成です。
クラシックエディタでの公開方法
公開→ウェブアプリケーションとして導入 を選択します。
プロジェクトバージョンは新規作成のままで、次のユーザーとしてアプリケーションを実行は「自分」、アプリケーションにアクセスできるユーザーは対象を選択して「導入」します。
アラートが表示されるので承認を押します。アカウントを選択します。
「このアプリは確認されていません」とアラートが表示される場合があります。
このアプリやサイトは Google によって審査されていません。作成したデベロッパーの身元など詳細が確認されていません。
アカウントを安全な状態に保つため、この警告が表示されるアプリやサイトには、権限を付与しないでください。
とのことですが、Googleのアプリですし、きっと大丈夫だろうと判断し、「詳細」をクリックした後、「RSS(安全ではないページ)に移動」を選択します(自己責任で)。
さらに、「スコープをリクエストしています」と許可を求める画面になるので、「許可」を選択します。
導入完了です。
RSSページを確認する
導入されたウェブアプリケーションのURLを確認します。
RSSフィードができました。
ディスカッション
ピンバック & トラックバック一覧
[…] 017年12月2日 現在はRSS公開はできなくなっていますので、皆元さんの最新記事をご参考に公開してみてください。 >>GoogleスプレットシートをRSSにする方法 | どこでもドア(ジャンク) […]