• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

wanasit/google-calendar: Google Calendar API connection in Node.js

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

wanasit/google-calendar

开源软件地址(OpenSource Url):

https://github.com/wanasit/google-calendar

开源编程语言(OpenSource Language):

JavaScript 100.0%

开源软件介绍(OpenSource Introduction):

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



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Sponsor @wanasit on GitHub Sponsors · GitHub发布时间:2022-06-11
下一篇:
visionmedia/google-search: Ruby - Google Search API发布时间:2022-06-11
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap