We Heart It の画像を手動で reblog するのが面倒なので,
1 個アカウントを用意して We Heart It の rss から Tumblr に投げ,
LDR や メインのアカウントの dashboard で見た方が楽じゃね?
ってことで,Tumblr の API を触ってみた.
gem を探したところ,以下のものがみつかるけど,
どれがいいのかわからない.
$ gem search -r tumblr *** REMOTE GEMS *** integrity-tumblr (0.1.1) ruby-tumblr (0.0.2) tumblr (2.2.0) tumblr-api (0.1.4) tumblr-rb (1.3.0) tumblr4r (0.7.2) tumblr_cleanr (0.0.1)
ということで,httparty を使って,さくっと書いてみた.
require 'rubygems' require 'httparty' class Tumblr include HTTParty base_uri "www.tumblr.com" def initialize(email, password) @email = email @password = password end def authenticate options = {:body => {:email => @email, :password => @password}} self.class.post('/api/authenticate', options) end def post_regular(title, body) options = {:body => {:email => @email, :password => @password, :type => "regular", :title => title, :body => body}} self.class.post('/api/write', options) end def post_photo(source, caption = nil) caption = source if caption.nil? options = {:body => {:email => @email, :password => @password, :type => "photo", :source => source, :caption => caption}} self.class.post('/api/write', options) end end
とりあえず,photo の post ができればいいのでこれだけ.
source に指定できるのは url.
ローカルのファイルをアップロードすることは考えていないので.
使い方はこんな感じ.
tumblr = Tumblr.new(email, password) response = tumblr.post_regular("test", "test てすと テスト") response = tumblr.post_photo("http://xmonad.org/images/logo.png", "xmonad") puts response.body, response.code, response.message, response.headers.inspect
(追記)
daily photo upload limit が 75 で,
リセットされるのが 16 時くらいらしい.
ref.
- API | Tumblr
http://www.tumblr.com/docs/en/api