注意
この記事の情報は古いです。
Tumblr API v2 の Ruby ライブラリ “tumblife for ruby” アップデートしました
こちらの記事を参照してください。
前書き
API | Tumblr
つい先日、待望の Tumblr API v2 がリリースされました。
ので、早速 Ruby ライブラリを作りました。
インストール
gem install tumblife
ソースコード
mitukiii/tumblife-for-ruby – GitHub
使い方
Tumblr API v2 からは OAuth 必須となりました。
まずは Tumblr にアプリケーション登録をし、OAuth Consumer Key を発行して貰う必要があります。
Twitter での例になりますが、認証周りについてはこの記事が参考になると思います。
Rails3でRubytterを使ってTwitterマッシュアップアプリを作る
サンプルコード
require 'tumblife'
consumer = OAuth::Consumer.new(
'*** consumer key ***',
'*** consumer secret ***',
{site: 'http://api.tumblr.com'}
)
access_token = OAuth::AccessToken.new(
consumer,
'*** oauth token ***',
'*** oauth token secret ***'
)
client = Tumblife.new(access_token)
avatar = client.avatar('mitukiii.tumblr.com')
avatar.avatar_url # => http://30.media.tumblr.com/avatar_3a8918dc3a7b_64.png
info = client.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
このライブラリは API を薄くラップし、レスポンスの JSON を Hashie 形式で返してるだけです。
各 API とメソッドとの対応は以下の通りです。
| Tumblife | Tumblr |
|---|---|
| info(base_hostname, params = {}) | /v2/blog/{base-hostname}/info |
| avatar(base_hostname, params = {}) | /v2/blog/{base-hostname}/avatar |
| followers(base_hostname, params = {}) | /v2/blog/{base-hostname}/followers |
| posts(base_hostname, params = {}) | /v2/blog/{base-hostname}/posts |
| queue(base_hostname, params = {}) | /v2/blog/{base-hostname}/posts/queue |
| draft(base_hostname, params = {}) | /v2/blog/{base-hostname}/posts/draft |
| submission(base_hostname, params = {}) | /v2/blog/{base-hostname}/posts/submission |
| create_post(base_hostname, params = {}) | /v2/blog/{base-hostname}/post |
| edit_post(base_hostname, params = {}) | /v2/blog/{base-hostname}/post/edit |
| reblog_post(base_hostname, params = {}) | /v2/blog/{base-hostname}/post/reblog |
| delete_post(base_hostname, params = {}) | /v2/blog/{base-hostname}/post/delete |
| dashboard(params = {}) | /v2/user/dashboard |
| likes(params = {}) | /v2/user/likes |
| following(params = {}) | /v2/user/following |
| follow(params = {}) | /v2/user/follow |
| unfollow(params = {}) | /v2/user/unfollow |
| info_user(params = {}) | /v2/user/info |
各 API の詳細については下記を参照してください。
API | Tumblr
ライセンス
WTFPLとします。
どうぞご自由にお使いください。
更新履歴
(2011/07/20 16:00)
v0.2.0
ユーザー情報を取得する “/v2/user/info” を “info_user” メソッドに割り当てました。
レスポンスコードが 400〜599 の時 APIError を投げるようにしました。
(2011/07/25 23:00)
v0.3.0
JSON の response のみを返すように変更。
2 Trackbacks/Pingbacks
[...] つくってみて一番驚いたことは、なんといっても非常に簡単だったことです。 rubyにはtumblife for ruby というすばらしいライブラリがありまして、なんとなーくで書けてしまう。 そんでも [...]
[...] Tumblr API v2 の Ruby ライブラリ “tumblife for ruby” 作りました 更新しました。 [...]
Post a Comment