API-Instagram
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/API/Instagram.pm view on Meta::CPAN
=head3 Authorize
Get the AUTH URL to authenticate.
use API::Instagram;
my $instagram = API::Instagram->new({
client_id => 'xxxxxxxxxx',
client_secret => 'xxxxxxxxxx',
redirect_uri => 'http://localhost',
scope => 'basic',
response_type => 'code',
granty_type => 'authorization_code',
});
print $instagram->get_auth_url;
=head3 Authenticate
After authorization, Instagram will redirected the user to the URL in
C<redirect_uri> with a code as an URL query parameter. This code is needed
to obtain an acess token.
$instagram->code( $code );
my $access_token = $instagram->get_access_token;
=head3 Request
With the access token its possible to do Instagram API requests using the
authenticated user credentials.
$instagram->access_token( $access_token );
my $me = $instagram->user;
print $me->full_name;
=head1 METHODS
=head2 new
my $instagram = API::Instagram->new({
client_id => $client_id,
client_secret => $client_secret,
redirect_uri => 'http://localhost',
scope => 'basic',
response_type => 'code',
granty_type => 'authorization_code',
no_cache => 1,
});
Returns an L<API::Instagram> object.
Set C<client_id>, C<client_secret> and C<redirect_uri> with the ones registered
to your application. See L<http://instagram.com/developer/clients/manage/>.
C<scope> is the scope of access. See L<http://instagram.com/developer/authentication/#scope>.
C<response_type> and C<granty_type> do no vary. See L<http://instagram.com/developer/authentication/>.
By default, L<API::Instagram> caches created objects to avoid duplications. You can disable
this feature setting a true value to C<no_chace> parameter.
=head2 instance
my $instagram = API::Instagram->instance;
print $instagram->user->full_name;
or
my $instagram = API::Instagram->instance({
client_id => $client_id,
client_secret => $client_secret,
redirect_uri => 'http://localhost',
});
Returns the singleton instance of L<API::Instagram>.
Note: if no instance was created before, creates a new L<API::Instagram> object initialized with arguments provided and then returns it.
=head2 get_auth_url
my $auth_url = $instagram->get_auth_url;
print $auth_url;
Returns an Instagram authorization URL.
=head2 get_access_token
my $access_token = $instagram->get_access_token;
or
my ( $access_token, $auth_user ) = $instagram->get_access_token;
Returns the access token string if the context is looking for a scalar, or an
array containing the access token string and the authenticated user
L<API::Instagram::User> object if looking for a list value.
=head2 media
my $media = $instagram->media( $media_id );
say $media->type;
Get information about a media object. Returns an L<API::Instagram::Media> object.
=head2 user
my $me = $instagram->user; # Authenticated user
say $me->username;
my $user = $instagram->user( $user_id );
say $user->full_name;
Get information about an user. Returns an L<API::Instagram::User> object.
=head2 location
my $location = $instagram->location( $location_id );
say $location->name;
Get information about a location. Returns an L<API::Instagram::Location> object.
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.103 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )