NAME
Net::Google::OAuth - Simple Google oauth api module
SYNOPSIS
This module get acess_token and refresh_token from google oath use Net::Google::OAuth;
#Create oauth object. You need set client_id and client_secret value. Client_id and client_secret you can get on google, when register your app.
my $oauth = Net::Google::OAuth->new(
-client_id => $CLIENT_ID,
-client_secret => $CLIENT_SECRET,
);
#Generate link with request access token. This link you must copy to your browser and run.
$oauth->generateAccessToken(
-scope => 'drive',
-email => 'youremail@gmail.com',
);
print "Access token: ", $oauth->getAccessToken(), "\n";
print "Refresh token: ", $oauth->getRefreshToken, "\n";
METHODS
new(%opt)
Create Net::Google::OAuth object
%opt:
-client_id => Your app client id (Get from google when register your app)
-client_secret => Your app client secret (Get from google when register your app)
generateAccessToken(%opt)
Generate link with request access token This link you must copy to your browser and go it. Redirect answer you must copy to console. Return 1 if success, die in otherwise
%opt
-scope => Request access to scope (e.g. 'drive')
-email => Your gmail email
refreshToken(%opt)
Get access token through refresh_token. Return 1 if success, die in otherwise
%opt:
-refresh_token => Your refresh token value (you can get refresh token after run method generateAccessToken() via getter getRefreshToken())
getTokenInfo(%opt)
Get info about access token (access_type, audience, expires_in, issued_to, scope). Return hashref of result or die in otherwise
%opt:
-access_token => Value of access_token (default use value returned by method getRefreshToken())
Example:
my $token_info = $oauth->getTokenInfo( -access_token => $access_token );
$token_info:
{
access_type "offline",
audience "593952972427-e6dr18ua0leurrjt1num.apps.googleusercontent.com",
expires_in 3558,
issued_to "593952972427-e6dr18ua0leurrjtum.apps.googleusercontent.com",
scope "https://www.googleapis.com/auth/drive"
}
getAccessToken()
Return access token value
getRefreshToken()
Return refresh token value
DEPENDENCE
LWP::UserAgent, JSON::XS, URI, HTTP::Request
AUTHORS
Pavel Andryushin <vrag867@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2018 by Pavel Andryushin.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.