Skip to content

puckey/google-authorize

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Google Authorize

Get an OAuth2 client with an authorized token to be used with Google APIs.

All I want for Christmas is to be able to easily start working with the Google APIs. There is a nice Node quickstart that Google provides for this. This module is a wrapper of that code but instead of executing a callback function that passes a resultant OAuth2 client, it returns a Promise that is thenable which resolves the OAuth2 client.

Here's how to use it:

Visit Node quickstart and complete Step 1 to get your client_secret.json.

npm i google-authorize --save
const GoogleAuthorize = require('google-authorize');

// Use an array of scopes that correlate to to googleapi scopes
// i.e. ['spreadsheets'] -> https://www.googleapis.com/auth/spreadsheets
const googleAuth = new GoogleAuthorize(['spreadsheets']);

// Authorize and then make a request to the sheets API
googleAuth.authorize().then(listMajors);

function listMajors(auth) {
  var sheets = require('googleapis').sheets('v4');
  sheets.spreadsheets.values.get({
    auth: auth,
    spreadsheetId: '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms',
    range: 'Class Data!A2:E',
  }, function(err, response) {
    if (err) {
      console.log('The API returned an error: ' + err);
      return;
    }
    var rows = response.values;
    if (rows.length == 0) {
      console.log('No data found.');
    } else {
      console.log('Name, Major:');
      for (var i = 0; i < rows.length; i++) {
        var row = rows[i];
        // Print columns A and E, which correspond to indices 0 and 4.
        console.log('%s, %s', row[0], row[4]);
      }
    }
  });
}

## Change Log
Nov 6 2018 - Fixed undefined callback on fs.writeFile

About

Get an OAuth2 client with an authorized token to be used with Google APIs.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%