install

  gem install foursquare
			

example


  require 'rubygems'
  require 'foursquare'

  oauth_key 'your_key'
  oauth_secret = 'your_secret'

  oauth = Foursquare::OAuth.new(oauth_key, oauth_secret)

  request_token = oauth.request_token.token
  request_secret = oauth.request_token.secret

  # redirecting user to foursquare to authorize
  oauth.request_token.authorize_url

  # foursquare redirects back to your callback url, passing the verifier in the url params

  access_token, access_secret = oauth.authorize_from_request(request_token, request_secret, verifier)

  # save the user's access token and secret


  oauth = Foursquare::OAuth.new(oauth_key, oauth_secret)
  oauth.authorize_from_access(access_token, access_secret)
  foursquare = Foursquare::Base.new(oauth)

  foursquare.test

  foursquare.venues :geolat => geolat, :geolong => geolong, :limit => 10, :q => 'pizza'
  foursquare.tips :geolat => geolat, :geolong => geolong, :limit => 10
  foursquare.checkins :geolat => geolat, :geolong => geolong

  checkin = {
    :vid => vid,
    :shout => "this is what i'm up to",
    :venue => "Cohabitat",
    :private => 0,
    :twitter => 0,
    :geolat => geolat,
    :geolong => geolong
  }

  # these all do the same thing
  # the response is a hashie object built from the checkin json.  so you can do new_checkin.shout
  new_checkin = foursquare.checkin(checkin)
  new_checkin.class
  => Hashie::Mash
  new_checkin
  => {...checkin hashie...}
  new_checkin = foursquare.send('checkin=', checkin)
  new_checkin.class
  => Hash
  new_checkin
  => {'checkin' => {...}}
  new_checkin = foursquare.api(:checkin=, checkin)
  new_checkin.class
  => Hashie::Mash
  new_checkin
  => {:checkin => {...}}

  foursquare.history :limit => 10
  foursquare.api(:history, :limit => 10).checkins
  foursquare.user :uid => user_id :badges => 0
  foursquare.user # currently authenticated user
  foursquare.friends :uid => 99999
  foursquare.venue :vid => venue_id
  foursquare.addvenue :name => name, :address => address, :city => city, ...
  foursquare.venue_proposeedit :venue_id => venue_id, :name => name, :address => address, :city => ...
  foursquare.venue_flagclosed :vid => venue_id
  foursquare.addtip :vid => 12345, :tip => 'here is a tip'
  foursquare.tip_marktodo :tid => tip_id
  foursquare.tip_markdone :tid => tip_id
  foursquare.friend_requests
  foursquare.friend_approve :uid => friend_id
  foursquare.friend_deny :uid => friend_id
  foursquare.friend_sendrequest :uid => friend_id
  foursquare.findfriends_byname :q => search_string
  foursquare.findfriends_byphone :q => '555 123'
  foursquare.findfriends_bytwitter :q => twitter_name
  foursquare.settings_setping :uid => user_id, :self => global_ping_status

			

contact

Report bugs at Github. Discuss in the Foursquare google group


Created by Jeremy Welch

Updated by Thomas Hanley and glytch