tumblr_clientを使ってRubyでTumblrに画像を投稿する方法
タグ: rubytumblr / 初版公開: 2013-10-07

昨日のエントリRubyでTumblrにアクセスする(tumblr_client)では、tumblr_clientの使い方を簡単に説明した。続いて、今日はtumblrに画像を投稿してみよう。

テキストの投稿はtext()で行ったが、画像の投稿はphoto()を使う。photo()を使う場合は、ローカルのファイルをアップロードする方法と、ネットで公開されている画像を取り込ませる2通りの方法がある。

ローカルのファイルをアップロードする

まずローカルのファイルをTumblrにアップロードしたい場合だ。この場合、photo()のハッシュ引数に、キーに:dataを、値に画像へのパス指定した要素を渡してやる。例は下記のとおりで、/path/to/photo.jpgがアップロードされる。

require 'tumblr_client'

Tumblr.configure do |config|
	config.consumer_key = "ABC..."
	config.consumer_secret = "DEF..."
	config.oauth_token = "GHI..."
	config.oauth_token_secret = "JKL..."
end

client = Tumblr::Client.new
client.photo("hogehoge.tumblr.com", {:data => '/path/to/photo.jpg', :caption => "Hello, World!"})

ネットで公開されている画像を取り込ませる

次にネットで公開されている画像をTumblrに取り込みたい場合だ。photo()のハッシュ引数に、今度はキーに:sourceを、値に画像へのURLを指定した要素を渡してやる。以下の例ではhttp://www-2.cs.cmu.edu/~chuck/lennapg/lena_std.tifがTumblrに取り込まれる。余談だが、この画像はかの有名なレナのものだ。これを実行してダッシュボードを確認すれば、彼女が笑顔を向けてくれることだろう。

require 'tumblr_client'

Tumblr.configure do |config|
	config.consumer_key = "ABC..."
	config.consumer_secret = "DEF..."
	config.oauth_token = "GHI..."
	config.oauth_token_secret = "JKL..."
end

client = Tumblr::Client.new
client.photo("hogehoge.tumblr.com", {:source => 'http://www-2.cs.cmu.edu/~chuck/lennapg/lena_std.tif', :caption => "Lena"})