Google Cal API插入404错误

时间:2015-02-17 07:14:44

标签: node.js google-api google-calendar-api

我一直在尝试使用谷歌api在日历中insert an event to the user's own calendar,但我收回了这个神秘的错误:

errors: [{ domain: 'global', reason: 'notFound', message: 'Not Found'}], code: 404, message: 'not Found'}

我似乎无法访问某个文件,但我不确定是哪个文件..

这里是帖子请求中的一些代码

Google_calendar是google_calendar npm模块。 req.user是登录用户。

var eventBody = {
    'status':'confirmed',
    'summary': "Test summary of event",
    'description': "COME BY AND HAVE A LOT OF FUN DESCRIPTION",
    'start': {
      'dateTime': moment(new Date(1424484000000)).format("YYYY-MM-DDTHH:mm:ssZ"),
      'timeZone': "America/New_York"
    },
    'end': {
      'dateTime': moment(new Date(1424491200000)).format("YYYY-MM-DDTHH:mm:ssZ"),
      'timeZone': "America/New_York"
    },
    'attendees': [
        {
          'email': req.user.googleId.email,
          'responseStatus': 'needsAction'
        }
    ]
  };
  var google_calendar = new googleCal.GoogleCalendar(req.user.googleId.token);
  google_calendar.events.insert(req.user.googleId.id, eventBody, function(err, response){
    console.log("Google response:", err, response);

    if (!err){
      res.send(200, response);
    }
    else {
      res.send(400, err);
    }
  });

我已经包含了访问令牌,用户ID(从oauth返回的google个人资料中抓取)和电子邮件地址。我还不确定为什么没有访问权限(如果有任何不同,我会使用.edu gmail帐户...)

这是我使用passport.js的OAUth代码

passport.use(new GoogleStrategy({
  clientID: googleAuth.clientID,
  clientSecret: googleAuth.clientSecret,
  callbackURL: googleAuth.callbackURL
}, function(token, params, profile, done){
  process.nextTick(function(){
    User.findOne({'googleId.id': profile.id}, function(err, appUser){
      if (err) return done(err);
      if (appUser){
        console.log("Params",params);
        console.log("Profile", profile);
       appUser.googleId.token = token;
       appUser.lastTime = new Date();
       return done(null, appUser);
     } 

    else 
    {
      var newUser = new User();
      newUser.googleId.id = profile.id;
      newUser.googleId.token = token;
      newUser.googleId.name  = profile.displayName;
      newUser.lastTime = new Date();
      newUser.googleId.email = profile.emails[0].value;
      newUser.save(function(err){
        if (err) throw err;
        return done(null, newUser);
      });
    }
  });
  });
}));

非常感谢任何帮助!

0 个答案:

没有答案