class Foursquare::Merchant::Consumer
Attributes
client_id[R]
client_secret[R]
oauth_token[R]
Public Class Methods
new(*args)
click to toggle source
# File lib/foursquare/consumer.rb, line 8 def initialize(*args) if args.size == 1 @oauth_token = args.first elsif args.size == 2 @client_id, @client_secret = args else raise ArgumentError, "Please include either an access token or client id & secret" end end
Public Instance Methods
access_token(code, callback_url)
click to toggle source
# File lib/foursquare/consumer.rb, line 32 def access_token(code, callback_url) raise "Please ensure you've defined the client_id" if @client_id.nil? raise "Please ensure you've defined the client_secret" if @client_secret.nil? raise "No code was provided" if code.nil? raise "Invalid callback url" if (callback_url.nil? or callback_url.scan(/http\:\/\//).empty?) query = { :client_id => @client_id, :client_secret => @client_secret, :grant_type => 'authorization_code', :redirect_uri => callback_url, :code => code } request = self.class.get("/access_token", {:query => query}) if request.code == 200 request.parsed_response['access_token'] else raise Errors::OAuthError, request.parsed_response['error'] end end