- blogs:
- cles::blog

Google Apps Scriptで超簡易版RSSリーダーを書いてみた


先日、Google Apps Scriptを調べていて、他サイトからデータを引っ張ってこれることが分かったので、試しにRSSを他サイトから引っ張ってくるスクリプトを書いてみました。
XMLの解析にXPathとか使えないので、現状ではXMLの解釈がかなりハードコーディングになってしまっているものの、こんな感じで実装できるんだなぁということは確認できました。そのほかにも、User-Agentが標準で出力されないので、自分のサーバにHTTPコネクションが弾かれたり、日本語の情報がきわめて少なかったりと、色々ハマるポイントは尽きないと思います。
最終的に出来たのは下記のような、スプレッドシートの左上のセル(A1)にRSSのURLを入力して、Fetchボタンを押すとRSSを取得して、A2に以下にタイトル、B2以下にURLを出力するというもの。
以下完成までのメモ。
† 新しいスプレッドシートを開く
Google Docsで新しいスプレッドシートを開く。
A1のセルにRSSのURLを入力しておく。今回は下記を利用。
† スクリプトエディタを開く
メニューの「Tools」->「Scripts」->「Script editor ...」を選択すると、別ウィンドウでスクリプトエディタが開く。
† スクリプトを入力して保存する
開いたウィンドウに対して下記のコードを入力する。
入力が終わったら、今回はgetRssという名前で保存します。
† Fetchボタンを作成する
メニューからいちいちスクリプトを起動するのは面倒なので、ボタンを押したらスクリプトが動作するようにしたいなぁと思ったので、Fetchボタンを作成します。
メニュー「Insert」->「Drawing...」を選択すると、ポップアップ画面が現れます。
下記のようにボタンを作成し、右上の「Save & Close」を押してポップアップを閉じます。
† ボタンとスクリプトを紐付ける
ボタンとスクリプトを紐付けるために、ボタンの左上の▼から「Assign script...」を選択。
ポップアップが現れるので、ここに先ほどのスクリプト名「getRss」を入力します。
† 完成
Fetchボタンを押すとスクリプトが動いて、スプレッドシートにRSS中のエントリのタイトルと、URLが挿入されます。
A1のセルのURLを書き換えれば、他のサイトのRSSも取得できるはずです。
Nucleus CMS JapanのRSS(http://feeds.feedburner.jp/nucleus_news)についても問題なく取得できました。
† コード補完もできるみたい
ちなみにこのスクリプトエディタはある程度コード補完が効きます。Webで使えるEclipseみたいなものも、もうすぐそこまで来ている感じがしました。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/3464
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
- crontab -r とやってしまった... (2)
- Jawbone Companion (beta) (1)
- GPS ロガーを自作 (1)
- MPC-HC で連続再生を行う(解... (1)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(112922)
3 . 年次の人間ドックへ(112351)
4 . 2023 年分の確定申告完了!(1つめ)(111919)
5 . 三菱鉛筆がラミーを買収(111794)