NAME
WWW::Foursquare - is a Perl wrapper for the Foursqauare API.
DESCRIPTION
This wrapper help you send requests to Foursquare API and get result in easy way, OAuth is supported, quick integration with your current project.
You can get more information about Foursquare API here:
https://developer.foursquare.com/
SYNOPSIS
use WWW::Foursquare;
# Create fs object
my $fs = WWW::Foursquare->new(
client_id => 'client_id',
client_secret => 'client_secret',
redirect_uri => 'redirect_uri',
);
# Set access_token
my $access_token = 'XXXX';
$fs->set_token($access_token);
# Search users by name
my $search_users = eval { $fs->users()->search(name => 'Pavel Vlasov') };
if (not $@) {
# work with result in Perl structure
# print Dumper($search_users);
}
else {
# process errors
warn $@ if $@;
}
INTEGRATION
How to connect your apps with foursquare via OAuth 2.0.
1. Create foursquare app:
https://foursquare.com/developers/apps
Get Client ID, Client Secret and Callback url
my $fs = WWW::Foursquare->new(
client_id => 'client_id',
client_secret => 'client_secret',
redirect_uri => 'redirect_uri',
);
2. Get auth url for your apps:
my $auth_url = $fs->get_auth_url();
It looks like this:
https://foursquare.com/oauth2/authenticate?client_id=client_id&redirect_uri=redirect_url&response_type=code
3. Have a user authorize your app.
Implement callback in your server.
- You click on auth url to go to autorize page.
- If authorization is successful you will redirect to callback url and get code.
- Then you use this code for getting access_token for Foursquare API
http://your_server.com/callback&code=XXXXXXX
my $code = ... # getting code here
Allow app to access to your account in foursquare
my $access_token = $fs->get_access_token($code);
Background magic will send GET request to Foursquare API
4. Set access_token and using Foursquare API
$fs->set_access_token($access_token);
For more information I would like recommend you visit page:
https://developer.foursquare.com/overview/auth
DEBUG MODE
my $fs = WWW::Foursquare->new(
debug => 1,
);
METHODS
new
Creating a new foursquare object.
my $fs = WWW::Foursquare->new(
client_id => 'client_id',
client_secret => 'client_secret',
redirect_uri => 'redirect_uri',
);
get_auth_url
Prepare auth url from Foursquare parameters (cliend_id, redirect_uri)
my $auth_url = $fs->get_auth_url();
If you want to use itself method for forsquare API:
$fs->users->info(); # get info about users etc
get_access_token
Get code after redirect, and send GET request to fetch access token
my $access_token = $fs->get_access_token($code);
set_access_token
Set access token for foursquare object
users
All users methods: https://developer.foursquare.com/docs/users/users
venues
All venues methods: https://developer.foursquare.com/docs/venues/venues
venuegroups
All venuegroups methods: https://developer.foursquare.com/docs/venuegroups/venuegroups
checkins
All checkins methods: https://developer.foursquare.com/docs/checkins/checkins
tips
All tips methods: https://developer.foursquare.com/docs/tips/tips
lists
All lists methods: https://developer.foursquare.com/docs/lists/lists
updates
All updates methods: https://developer.foursquare.com/docs/updates/updates
photos
All photos methods: https://developer.foursquare.com/docs/photos/photos
settings
All settings methods: https://developer.foursquare.com/docs/settings/settings
specials
All specials methods: https://developer.foursquare.com/docs/specials/specials
campaigns
All campaigns methods: https://developer.foursquare.com/docs/campaigns/campaigns
events
All events methods: https://developer.foursquare.com/docs/events/events
pages
All pages methods: https://developer.foursquare.com/docs/pages/pages
pageupdates
All pageupdates methods: https://developer.foursquare.com/docs/pageupdates/pageupdates
EXAMPLES
You can see examples how to use WWW::Foursquare.
Here: /eg/test.pl
AUTHOR
Pavel Vlasov, fxzuz at cpan.org
BUGS
Please report any bugs or feature requests to bug-www-foursquare at rt.cpan.org, or through
the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WWW-Foursquare. I will be notified, and then you'll
automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc WWW::Foursquare
You can also look for information at:
* Github
http://github.com/fxzuz/WWW-Foursquare/
* RT: CPAN's request tracker (report bugs here)
http://rt.cpan.org/NoAuth/Bugs.html?Dist=WWW-Foursquare
* AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/WWW-Foursquare
* CPAN Ratings
http://cpanratings.perl.org/d/WWW-Foursquare
* Search CPAN
http://search.cpan.org/dist/WWW-Foursquare/
LICENSE AND COPYRIGHT
Copyright 2012 Pavel Vlasov.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.