index.js 1.62 KB
var express = require('express');
var router = express.Router();
const fs = require('fs');
const readline = require('readline');
const {google} = require('googleapis');
const bodyParser = require('body-parser');

var passport = require('passport');
var GoogleStrategy = require('passport-google-oauth').OAuth2Strategy;
var gcal = require('google-calendar');

passport.use(new GoogleStrategy({
  clientID:'978869138601-u3euf0c04sbdor68r30m599gilvjn91e.apps.googleusercontent.com',
  clientSecret:'N7Uh_oVQZt-almzA4DkM4bm_',
  callbackURL:'http://localhost:3000/auth/google/callback',
  scope:['openid','email','https://www.googleapis.com/auth/calendar.readonly',
  'https://www.googleapis.com/auth/calendar',
  'https://www.googleapis.com/auth/calendar.events']
},
function(accessToken,refreshToken,params,profile,done){
  profile.accessToken = accessToken;
  return done(null,profile);
}));

router.get('/auth/google',passport.authenticate('google',{ session:false}));
router.get('/auth/google/callback',passport.authenticate('google',{
  failureRedirect:'/'
}),function(req, res) { 
  req.session.access_token = req.user.accessToken;
  res.redirect('/calendar');
});

 calList = new Array();
  Calendars = new Array();

router.get('/',function(req,res,next){
  res.render('index',{title:'Reminder-Talk'});
});

router.get('/logout', function(req, res) { 
  req.logout(); 
  req.session = null; 
  res.redirect('/'); 
});


module.exports = router;

//db에 id 별 이벤트 저장하고 calendar page 에서 출력해주자!
//문제점 : 비동기식 진행이어서 getAllcalendarID 함수 실행 후 바로 list 출력 안됨. console.log 먼저 출력됨