Google Readerの未読件数を取得
Google Readerをターミナルから閲覧できるpeepというソフトウェアを知って、なかなかlife changingだったんですが、どうせならまとまった時期にばばっとみたいので未読フィードの数をscreenのhardstatusにでも表示させてみたいなとふと思いました。で、調べてみると普通にありました。
Google Reader APIの叩き方 - by edvakf in hatenaを参考に、
curl -s "http://www.google.com/reader/api/0/unread-count?all=true" --header "Cookie: SID=<SIDトークン>; T=<Tトークン>" | perl -nle 'print m|reading-list</string><number name="count">(\d+)</number>|'
としてみたらとりあえず取得できましたが、よくよく考えてみるとトークンの有効期限が切れたときにどうしようもないので、RubyのgooglereaderというAPIラッパーを使ってみることにしました(参考:ruby の googlereaderライブラリ で Google Reader API を使ってみた - harry’s memorandum。)
#!/usr/bin/env ruby require 'rubygems' require 'google/reader' class Net::HTTP alias_method :old_initialize, :initialize def initialize(*args) old_initialize(*args) @ssl_context = OpenSSL::SSL::SSLContext.new @ssl_context.verify_mode = OpenSSL::SSL::VERIFY_NONE end end config = {:email => "メールアドレス" , :password => "パスワード"} Google::Base.establish_connection(config[:email],config[:password]) Google::Reader::Count.all.each {|feed| if feed.google_id.match("reading-list") then printf("%02d",feed.count) end }
これで未読件数が取得できます。