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

SYNOPSIS

Script to create an OAuth2 token that can be stored and used later to authorize our REST API access.

Based on code from https://gist.github.com/hexaddikt/6738162

To create a config file for use as a perl script:

        1. Read over https://stackoverflow.com/questions/11485271/google-oauth-2-authorization-error-redirect-uri-mismatch
           It has a lot of useful background information.
    
        2. Obtain a client_id and client_secret from your Google Developer's console page.
          a. Go to https://console.cloud.google.com/apis/dashboard, sign in,
             and create a project.
          b. Go to the 'Credentials' tab on the left, and then '+ Create Credientials'
             at the top of the screen and select 'OAuth client ID' from the dropdown.
          c. Select 'Desktop app' (for a simple script) or 'Web application' (for a web
             site). The rest of these instructions pertain to the easier 'Desktop app'.
             It's best to get this more simple config working first, then move to more
             complex setups once you're familiar with the process.
          d. Pick a name for your script app and click on 'Create'. Copy the 'Client ID'
             and 'Client Secret' for the next step.
        3. Create a yaml file with the following format:
        
              ---
              auth:
                  class: OAuth2Client
                  client_id: <client-id-from-google>
                  client_secret: <client-secret-from-google>
                  token_file: <file-name-to-store-your-generated-token> # just file name, not path.
        The token file will be stored in the same directory as the config file.
    
        Once this process is complete, this same config file will be used by this package
        to access the Google API.
    
        4. Run this script with the first arg pointing to the yaml file above, and follow
           the directions on the screen, which will take you through the following steps:
          a. Copy the URL printed out, and paste the URL in a browser to load the page. 
          b. On the resulting page, click OK (possibly after being asked to log in to
             your Google account). 
          c. You will be redirected to a page that provides a string that you should copy
             and paste back into the terminal window, so this script can exchange it for
             an access token from Google, and store the token. That will be the token for
             this package.
      
          5. Once you have the YAML config file and token file created, you can now use them with
             this package:
                use Google::RestApi;
                my $rest_api = new Google::RestApi->new(config_file => <path to config file>);
            See Google::RestApi doc for further information on how to initialize this object
            with the token file.