Skip to content

Tumblr API v2 の Ruby ライブラリ “tumblife for ruby” 作りました

|

注意

この記事の情報は古いです。
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

  1. Tumblr bot つくりました。 | ぼくぶん on 2011年12月16日 00時51分

    [...] つくってみて一番驚いたことは、なんといっても非常に簡単だったことです。 rubyにはtumblife for ruby というすばらしいライブラリがありまして、なんとなーくで書けてしまう。 そんでも [...]

  2. [...] Tumblr API v2 の Ruby ライブラリ “tumblife for ruby” 作りました 更新しました。 [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*