NAME
Net::Google::Analytics::OAuth2 - OAuth2 for Google Analytics API
VERSION
version 3.05
SYNOPSIS
use Net::Google::Analytics;
use Net::Google::Analytics::OAuth2;
my $client_id = "123456789012.apps.googleusercontent.com";
my $client_secret = "rAnDoMsEcReTrAnDoMsEcReT";
my $refresh_token = "RaNdOmSeCrEtRaNdOmSeCrEt";
my $analytics = Net::Google::Analytics->new;
# Authenticate
my $oauth = Net::Google::Analytics::OAuth2->new(
client_id => $client_id,
client_secret => $client_secret,
);
my $token = $oauth->refresh_access_token($refresh_token);
$analytics->token($token);
DESCRIPTION
OAuth2 class for Net::Google::Analytics web service.
CONSTRUCTOR
new
my $oauth = Net::Google::Analytics::OAuth2->new(
client_id => $client_id, # required
client_secret => $client_secret, # required
redirect_uri => $redirect_uri,
);
Create a new object. Use the client id and client secret from the Google APIs Console. $redirect_uri is optional and defaults to 'urn:ietf:wg:oauth:2.0:oob' for installed applications.
METHODS
authorize_url
my $url = $oauth->authorize_url(%extra_params);
my $url = $oauth->authorize_url(\%extra_params);
Returns a Google URL where the user can authenticate, authorize the application and retrieve an authorization code. %extra_params can be used to pass additional authorization parameters. See https://developers.google.com/accounts/docs/OAuth2WebServer#formingtheurl.
get_access_token
my $token = $oauth->get_access_token($code);
Retrieves an access token and a refresh token using an authorization code. Returns a hashref with the following entries:
access_token
refresh_token
expires_in
token_type
refresh_access_token
my $token = $oauth->refresh_access_token($refresh_token);
Retrieves a new access token using a refresh token. Returns a hashref with the following entries:
access_token
expires_in
token_type
interactive
$oauth->interactive;
Obtain and print an access and refresh token interactively using the console. The user is prompted to visit a Google URL and enter a code from that page.
AUTHOR
Nick Wellnhofer <wellnhofer@aevum.de>
COPYRIGHT AND LICENSE
This software is copyright (c) 2016 by Nick Wellnhofer.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.