Skip to content

TINAMI API の Ruby ライブラリ “tinami for ruby” 作りました

|

作りました。

インストール

gem install tinami

ソースコード

mitukiii/tinami-for-ruby – GitHub

使い方

TINAMI API を使用するにはアプリケーション登録をし API Key を取得する必要があります。

require 'tinami'

TINAMI.configure do |config|
  config.api_key = '*** api_key ***'
end

auth = TINAMI.auth('*** email ***', '*** password ***')
auth_key = auth.auth_key
client = TINAMI.client(auth_key: auth_key)

info = client.info
info.user # => {no: "146005"}

ranking = client.ranking(1)
ranking.contents.content.each do |content|
  # ... do something
end

search = client.search(text: '魔法少女まどか★マギカ')
search.contents.content.each do |content|
  # ... do something
end

このライブラリは API を薄くラップし、レスポンスの XML を Hashie 形式で返してるだけです。

各 API とメソッドとの対応は以下の通りです。

メソッド API
auth(email, password) /auth
info() /login/info
logout() /logout
search(params = {}) /content/search
bookmark_contents(params = {}) /bookmark/content/list
friend_recommends(params = {}) /friend/recommend/content/list
watchkeyword_contents(params = {}) /watchkeyword/content/list
collections(params = {}) /collection/list
add_collection(cont_id) /collection/add
bookmarks(params = {}) /bookmark/list
add_bookmark(prof_id) /bookmark/add
ranking(category) /ranking
content(cont_id) /content/info
creator(prof_id) /creator/info
comments(cont_id) /content/comment/list
add_comment(cont_id, comment) /content/comment/add
remove_comment(comment_id) /content/comment/remove
support(cont_id) /content/support

各 API の詳細については下記を参照してください。
TINAMI – API

ライセンス

WTFPL とします。
どうぞご自由にお使いください。

更新履歴

(2011/07/31 23:00)
v0.2.1
activesupport を最新を使うように変更。

(2011/08/02 10:00)
v0.2.2
get メソッドと post メソッドの params をオプションに変更。

(2011/08/08 18:40)
v0.3.0
ソースコードにコメント追加。
必要な gem に i18n を追加。
Ruby 1.8 に対応。

(2011/08/13 14:00)
v0.4.0
登録ユーザーのみ〜のエラー処理を追加

(2011/08/13 18:40)
v0.4.1
メッセージのないエラーの処理を追加

(2011/08/13 18:50)
v0.4.2
お気に入りユーザーのみ〜のエラー処理を追加

関連記事

One Trackback/Pingback

  1. [...] 先日 TINAMI の API ライブラリを Ruby で書きました。 (TINAMI API の Ruby ライブラリ “tinami for ruby” 作りました) 折角なので何か作ろうと思い結果スマートフォンビューアになりました。 [...]

Post a Comment

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