RAILS PRESS RUBY on RAILS, it’s DRY and COOL …

RSS Feed

RAILS PRESS RSS

Tag Cloud

はてなブックマーク - railspress.matake.jp の注目エントリー
象形文字くさび形文字ミイラそろばんの玉そろばんコーラン占いの板?象牙大英博物館

Posted on
2008/12/27

Tags
OAuth, Yahoo, ノウハウ

0 Comment

この記事をはてなブックマークに登録 この記事のはてなブックマーク数 この記事を livedoor クリップに登録この記事の livedoor クリップ数 このエントリを del.icio.us に追加
ブックマークに追加する

ruby-oauth で Yahoo! OAuth を使う方法

ruby-oauth で Yahoo! OAuth を使おうとしてだいぶはまったので、対応方法をメモ。

まずは oauth_parameter のうち、値が空のものは送らないようにしないと行けないようです。これは Yahoo! 側の問題かな?この問題を解決するには、OAuth::Client::Helper をオーバーライドします。

LANG : RUBY
  1. # Yahoo! Hacks (for OAuth2.1)
  2. class OAuth::Client::Helper
  3.   def oauth_parameters
  4.     { 'oauth_consumer_key'     => options[:consumer].key,
  5.       'oauth_token'            => options[:token] ? options[:token].token : '',
  6.       'oauth_signature_method' => options[:signature_method],
  7.       'oauth_session_handle'   => options[:oauth_session_handle] ? options[:oauth_session_handle] : '',
  8.       'oauth_timestamp'        => timestamp,
  9.       'oauth_nonce'            => nonce,
  10.       'oauth_version'          => '1.0' }.reject { |k,v| v == "" }
  11.   end
  12. end

次に、Yahoo! OAuth では1時間ごとに token を再発行したり、その際に session_handle を使ったりするので、ruby-oauth の OAuth::AccessToken と OAuth::RequestToken をこれらの属性に対応させる必要があります。

» このエントリーには続きがあります。続きを読む »

Posted on
2008/12/23

Tags
API, Gem, OAuth, iKnow!, リリース

2 Comments

この記事をはてなブックマークに登録 この記事のはてなブックマーク数 この記事を livedoor クリップに登録この記事の livedoor クリップ数 このエントリを del.icio.us に追加
ブックマークに追加する

iKnow! gem 0.2.2

version 0.4.0 - version 0.1.1 までの更新履歴はこちら。
iKnow! gem version 0.1.1 - 京の路
iKnow! gem version up - OAuth & Basic認証 - 京の路

version 0.2.2 となり、ようやくこちらのブログでも発表できるレベルになりました。version 0.2.2 では、OAuth / Basic 認証のサポート、すべての要認証 API Call のサポートが追加されています。

OAuth / Basic 認証は同じインタフェースで使えます。Iknow::Auth に username と password を指定すれば Basic 認証、token と secret を指定すれば OAuth を使います。

LANG : RUBY
  1. iknow_auth = case auth_mode
  2.   when :oauth
  3.     Iknow::Auth.new(
  4.       :token => OAUTH_ACCESS_TOKEN,
  5.       :secret => OAUTH_ACCESS_TOKEN_SECRET
  6.     )
  7.   when :basic_auth
  8.     Iknow::Auth.new(
  9.       :username => IKNOW_USERNAME,
  10.       :password => IKNOW_PASSWORD
  11.     )
  12. end

あとは、要認証 API Call の第一引数に Iknow::Auth のインスタンスを渡してください。(※ 12月23日現在、OAuth の DELETE 系 Call がエラーになりますが、これは iKnow! API 側の問題です)

» このエントリーには続きがあります。続きを読む »

Posted on
2008/11/29

Tags
Gem, GitHub, iKnow!

0 Comment

この記事をはてなブックマークに登録 この記事のはてなブックマーク数 この記事を livedoor クリップに登録この記事の livedoor クリップ数 このエントリを del.icio.us に追加
ブックマークに追加する

iKnow! gem をアップデートしました version 0.0.4

新規 Call の反映と、各 Call で追加された Attributes の反映が主な変更点です。Item creation API は Basic 認証で実装してしまおうかと思ってます。いつやるかは未定(アセアセ

相変わらずドキュメントはサンプルコードですが、List / Item / Sentence の find や、User#study.total_summary などが新しく追加されています。また :include_sentences と :include_items は新しく追加されたパラメータです。

LANG : RUBY
  1. ## User API
  2. @user = Iknow::User.find('kirk')
  3. @user.items(:include_sentences => true)
  4. @user.lists
  5. @user.friends
  6. @user.study.results
  7. @user.study.total_summary
  8. @matched_users = Iknow::User.matching('matake')
  9.  
  10. ## List API
  11. @recent_lists = Iknow::List.recent
  12. @list = Iknow::List.find(31509, :include_sentences => true, :include_items => true)
  13. @list.items
  14. @list.sentences
  15. @matched_lists = Iknow::List.matching("イタリア語であいさつ")
  16.  
  17. # puts Iknow::List.find(31509, :include_sentences => true, :include_items => true).inspect
  18.  
  19. ## Item API
  20. @recent_items = Iknow::Item.recent(:include_sentences => true)
  21. @item = Iknow::Item.find(437525)
  22. @matched_items = Iknow::Item.matching('record', :include_sentences => true)
  23. @items = Iknow::Item.extract("sometimes, often, electrical")
  24. @items.first.sentences
  25.  
  26. ## Sentence API
  27. @recent_sentences = Iknow::Sentence.recent
  28. @sentence = Iknow::Sentence.find(312271)
  29. @matched_sentences = Iknow::Sentence.matching('record')

» このエントリーには続きがあります。続きを読む »

« 前の3件