The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

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",
}

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.