Numerous Problems Multiplied

    google-calendar

    1.3.2 • Public • Published

    Google-Calendar

    Google Calendar library for Node.js

    npm install google-calendar

    For 0.0.x users

    This module (1.x.x) has been redesigned completely, so it is incompatible with the old version. The 0.0.x version is moved to branch name v0.

    Usage

    AccessToken & Authentication

    This library requires Google API's Access Token with calendars scope.

    var gcal = require('google-calendar');
    var google_calendar = new gcal.GoogleCalendar(accessToken);

    To get accessToken, use another authentication framework such as passport (recommended, but not required) for OAuth 2.0 authentication. You can take look at the example code in example folder.

    var GoogleStrategy = require('passport-google-oauth').OAuth2Strategy;
    var passport = require('passport');
    var gcal     = require('google-calendar');
     
    passport.use(new GoogleStrategy({
        clientID: config.consumer_key,
        clientSecret: config.consumer_secret,
        callbackURL: "http://localhost:8082/auth/callback",
        scope: ['openid', 'email', 'https://www.googleapis.com/auth/calendar'] 
      },
      function(accessToken, refreshToken, profile, done) {
        
        //google_calendar = new gcal.GoogleCalendar(accessToken);
        
        return done(null, profile);
      }
    ));

    API Usage

    This library follows Google Calendar API v3 Reference.

    GoogleCalendar.Resource.Method( required_param1, required_param2, optional, callback )

    For example

     
    var google_calendar = new gcal.GoogleCalendar(accessToken);
     
    google_calendar.calendarList.list(function(err, calendarList) {
      
      ...
      
      google_calendar.events.list(calendarId, function(err, calendarList) {
        
        ...
      });
    });
     

    Running Tests

    This library uses mocha test framework. All test files are included in folder /specs.

    To run the test, you need to install the dev-dependencies.

    npm install -d
    

    You also need to fill /specs/config.js with your API key and refresh_token. See Google's document on OAuth2.

    Note: The process for getting those credentials is still complicated; I'll improve this later.

    module.exports = {
      consumer_key     : 'CONSUMER_KEY',
      consumer_secret  : 'CONSUMER_SECRET',
      refresh_token    : 'REFRESH_TOKEN',
    }
    

    The testcase involves calling Google Calendar and takes a long time to complete. Thus, running mocha with a high timeout parameter (more than 6 seconds) is recommended.

    mocha ./specs --timeout 6000
    

    Keywords

    none

    Install

    npm i google-calendar

    DownloadsWeekly Downloads

    270

    Version

    1.3.2

    License

    none

    Last publish

    Collaborators

    • wanasit