tumblrへらくがき画像を投稿するドロップレットみたいなのが欲しくて拾ってこようと思ったら意外となかったのでとりあえずコマンドラインで動くようにしてみた。
言語はなんでもよかったんですが、Rubyだとすごい便利なパッケージがあったのでRubyにしました。ただGitHubに上がってるってことは、ご本人の手での開発は停止なのかな?
Appを作ってOAuth tokenをもらう
もらうといっても、お金やメールのやりとりなんかはないです。ありがたいことにトークンをもらうサービスが公開されているので、サーバーすらいりません
-
アプリケーションを作ります。http://www.tumblr.com/oauth/apps にアクセスし、必要事項を記入。
こうもく にゅうりょく Application name 適当に。あとで変えられます Default callback URL http://gettumblraccesstoken.heroku.com/callback OAuth Consumer Key と Secret Key をメモる
http://gettumblraccesstoken.heroku.com/callback にアクセスし、先ほどの OAuth Consumer Key と Secret Key を入力してSubmit。
まとめ:
- OAuth Consumer Key を てにいれた!
- Secret Key を てにいれた!
- Access Token を てにいれた!
- Access Token Secret を てにいれた!
rubyでテスト投稿スクリプトを作る
tumblifeというrubyのパッケージを使います。
こちらに書いてある通りなんですが、まあ使うためにはまずインストール。ターミナルで
gem install tumblife
して、
その下のサンプルプログラムをコピペしてデスクトップにtest.rb
とでも保存します。
require 'tumblife'
Tumblife.configure do |config|
config.consumer_key = YOUR_CONSUMER_KEY
config.consumer_secret = YOUR_CONSUMER_SECRET
config.oauth_token = YOUR_OAUTH_TOKEN
config.oauth_token_secret = YOUR_OAUTH_TOKEN_SECRET
end
client = Tumblife.client
avatar = client.avatar('mitukiii.tumblr.com')
avatar.avatar_url # => http://24.media.tumblr.com/avatar_87fdfd3ea0e3_64.png
info = client.blog_info('mitukiii.tumblr.com')
info.blog.name # => mitukiii
info.blog.url # => http://mitukiii.tumblr.com/
dashboard = client.dashboard
dashboard.posts.each do |post|
# ... do something
end
client.text('mitukiii.tumblr.com', :body => 'Hello, Tumblr!')
client.photo('mitukiii.tumblr.com', :data => Faraday::UploadIO.new('/path/to/image.png', 'image/png'))
-
トークンの入力
- YOUR_CONSUMER_KEY
- YOUR_CONSUMER_SECRET
- YOUR_OAUTH_TOKEN
- YOUR_OAUTH_TOKEN_SECRET を、修正。ダブルクォーテーション忘れずに。
URLの修正
mitukiii を、ご自分のtumblrのアカウントに修正します。ドメイン指定してる時はわかんない。コメントの人が教えてくれるでしょう。まだ画像ないのでとりあえず25行目のclient.photo('〜はコメントアウト。
とりあえずコレでterminalで、ruby test.rbすると、Hello, Tumblr!が投稿されました。
次の目標
任意のタグ付けをしたいっす。2月だなー。