Sha256: 7deaf30aad97a6c52e0bbc0eed700accc438d83cf58ffe10ee88d9fc3d622179
Contents?: true
Size: 1.48 KB
Versions: 3
Compression:
Stored size: 1.48 KB
Contents
# -*- encoding : utf-8 -*- module Douban # Defines HTTP request methods module OAuth # Return URL for OAuth authorization def authorize_url(options={}) options[:response_type] ||= "code" params = access_token_params.merge(options) connection.build_url("https://www.douban.com/service/auth2/auth", params).to_s end # Return an access token from authorization def get_access_token(code, options={}) options[:grant_type] ||= "authorization_code" params = access_token_params.merge(options) response = post("https://www.douban.com/service/auth2/token", params.merge(:code => code), raw=false) end # Refresh you access token, see OAuth2 spec for more infomation # @see http://developers.douban.com/wiki/?title=oauth2 # @note 返回新的access_token和refresh_token的同时, 它修改client的access_token和refresh_token def refresh(options={}) options[:grant_type] ||= "refresh_token" params = access_token_params.merge(options) response = post("https://www.douban.com/service/auth2/token", params.merge(:refresh_token => refresh_token), raw=false) @access_token, @refresh_token = response[:access_token], response[:refresh_token] response end private def access_token_params { :client_id => client_id, :client_secret => client_secret } end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
douban_api-0.1.6 | lib/douban_api/oauth.rb |
douban_api-0.1.5 | lib/douban_api/oauth.rb |
douban_api-0.1.4 | lib/douban_api/oauth.rb |