Need help with google-calendar?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

wanasit
212 Stars 51 Forks MIT License 57 Commits 8 Opened issues

Description

Google Calendar API connection in Node.js

Services available

!
?

Need anything else?

Contributors list

# 64,845
TypeScr...
JavaScr...
47 commits
# 31,020
Kivy
Python
TypeScr...
Electro...
1 commit
# 417,577
Python
Shell
JavaScr...
1 commit
# 246,064
JavaScr...
HTML
api-blu...
health-...
1 commit
# 19,485
PHP
axios
vuejs
Laravel
1 commit

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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.