new takyam();

Qiitaぽい話はQiitaに書いていくことにする気がする http://qiita.com/takyam

RSSリーダーで気に入ったフィードをTwitterにシェアする

かれこれ2〜3年くらい、RSSリーダーを見ていて気に入った内容をTwitterにツイートしています。自分のツイートの95%はお気に入りフィードのタイトルとURLで構成されています。

この、RSSリーダーのフィードをどうやってツイートするか、というのが結構やっかいで、常に四苦八苦しています。

全てのRSSは、まずGoogleReaderに登録しておき、GoogleReader経由でしか見ません。

GoogleReader経由といっても、そのビューワーは2種類で、PCだとブラウザから閲覧し、スマホ(Android)はNewsRobというアプリを使っています。

NewsRobは超高機能なイケてるアプリというわけではないのですが、Android1.6の時代からある、かなり古参なアプリで、個人的に使い慣れてて他のも試してみるけど結局コレに戻っちゃう、といった感じなので、いかにこのアプリを使ってTwitterにシェアするか、というのが常に問題としてつきまとってきました。

これまでの変遷をリストアップすると、

  • NewsRob -intent-> Twidroid
    • 最初はよかったけどどっかのタイミングからTitleが渡せなくなったので破棄
  • NewsRob -intent-> Plume
    • これも最初は良かったけどどっかのバージョンから挙動が変になったので破棄
  • NewsRob -star-> Reader2Twitter
    • Androidのインテントで渡す事をあきらめて、NewsRobで記事をお気に入りすると、GoogleReaderのお気に入りしたものをTwitterにツイートしてくれるこのサービスはかなり快調だったのですが、これまたどっかの時期から使えなくなって残念ながら使えなくなった
  • NewsRob -intent-> @Share
    • もう外部に頼ってられねぇ!とのことで自分でアプリ作ったった。自分用に作ったので、URL短縮だったりインテントの候補順だったりとかなり俺好みでできた。同時にTumblrに投稿できたり。ただ、これも去年のTwitterAPIのアップデートで動かなくなっちゃった。
  • NewsRob -starred-> StarredRSS -> dlvr.it
    • GoogleReaderには「お気に入りしたフィード一覧なRSS」を公開できる機能があるので、それを公開して、dlvr.itっていうRSSをTwitterとかFacebookにシェアしてくれるサービス経由で共有していました。ただ、ある時期からdlvr.itの挙動が怪しくなって、多重ポストされたりしたのでうーん。。。な感じに。

というわけで、かなりいろんなものを使ってきたわけですが、最後のdlvr.itが動かなくなってからは放置してました。

とはいえ、いい記事とかったらシェアしたいなとは思っていたので、何とかしなきゃなー。。。どうしよっかなー。。。アプリ作るの面倒くせぇなぁ。。。という事で、Reader2Twitterのオレオレバージョンを作る事にしました。

takyam-starred-reader
https://bitbucket.org/takyam/takyam-starred-reader

Nodeで作ってて、dlvr.itのケースのように、お気に入りフィードRSSを取得して、パースして、MongoDBに突っ込んで、Twitterにシェアするやつです。

Twitterへのツイートは出来るようになったので、このあとはFacebookへのシェアをどうするか、というのと、MongoDBにデータを突っ込んではいるので、あとから検索できるようにViewer側をSocketStreamで作りたいなぁと思ってます。

setInterval()でcronの代わりになるのは楽ちんだなと思いましたw