The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.