Sha256: 463dd74c0a5ada9c96ae27aaac011fbe5a6454b166fda870b5718f99a8d69e72

Contents?: true

Size: 769 Bytes

Versions: 2

Compression:

Stored size: 769 Bytes

Contents

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)
      post("https://www.douban.com/service/auth2/token", params.merge(:code => code), raw=false)
    end

    private

    def access_token_params
      {
        :client_id => client_id,
        :client_secret => client_secret
      }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
douban_api-0.1.1 lib/douban_api/oauth.rb
douban_api-0.1.0 lib/douban_api/oauth.rb