foursquare2 (Updated version here)
Ruby wrapper for the foursquare v2 API.
Installation
sudo gem install foursquare2
Usage
A Note on Authentication
Currently this gem does not handle the oauth2 authentication flow for you, use the oauth2 gem to retrieve and store oauth tokens for a user. Obtain your client key/secret for userless access at the foursquare developer site.
Instantiate a client (Userless Access)
client = Foursquare2::Client.new(:client_id => 'your_client_id', :client_secret => 'your_secret')
Instantiate a client (Authenticated User Access)
client = Foursquare2::Client.new(:oauth_token => 'user_oauth_token')
Instantiate a client (With versioning)
client = Foursquare2::Client.new(:api_version => '20120505')
Examples
See the documentation for a list of all supported methods and available options.
Get information about a user (use 'self' for the authenticated user)
client.user(108914)
Get information about a venue
client.venue(5104)
Search for venues
client.search_venues(:ll => '36.142064,-86.816086', :query => 'Starbucks')
Check-in to a venue as the authenticated user
client.add_checkin(:venueId => "4b2afcaaf964a5205bb324e3", :broadcast => 'public', :ll => '36.142064,-86.816086', :shout => 'zomg coffee!1!')
Search user by tip
client.search_users_by_tip(:ll => '36.142064,-86.816086', :name => 'Marco')
Search tips from a user (optionally filter a user's tips based on some term)
client.user_tips("123456", :query => 'coffee')
Search venues by tip
client.search_venues_by_tip(:ll => '36.142064,-86.816086', :query => 'coffee')
Search tips at a venue (optionally filter a venue's tips based on some term)
client.venue_tips("4b2afcaaf964a5205bb324e3", :query => 'coffee')
Full list of methods
See the documentation or foursquare's endpoint list for parameters.
client.checkin
client.recent_checkins
client.add_checkin
client.add_checkin_comment
client.add_checkin_post
client.add_checkin_reply
client.delete_checkin_comment
client.photo
client.add_photo
client.settings
client.setting
client.update_setting
client.special
client.search_specials
client.tip
client.search_tips
client.add_tip
client.mark_tip_todo
client.mark_tip_done
client.unmark_tip
client.user
client.search_users
client.user_requests
client.user_badges
client.user_checkins
client.user_friends
client.user_photos
client.user_tips
client.user_mayorships
client.user_todos
client.user_venue_history
client.user_friend_request
client.user_unfriend
client.user_approve_friend
client.user_deny_friend
client.user_set_friend_pings
client.venue
client.venue_tips
client.venue_links
client.venue_photos
client.page
client.search_pages
client.herenow
client.page_venues
client.managed_pages
client.search_venues
client.search_venues_by_tip
client.venue_categories
client.trending_venues
client.add_venue
client.mark_venue_todo
client.flag_venue
client.propose_venue_edit
client.edit_venue
client.managed_venues
client.managed_venue_stats
client.venues_timeseries
client.add_special
client.add_campaign
Todo
- More test coverage
- Integrate oauth2 authentication flow
Contributing to foursquare2
- Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
- Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
- Fork the project
- Start a feature/bugfix branch
- Commit and push until you are happy with your contribution
- Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
- Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
Copyright
Copyright (c) 2011 Matt Mueller. See LICENSE.txt for further details.