我正在使用google oauth的护照,我也想用它来进行API调用。所有googleapi文档都围绕着使用谷歌自己的身份验证库。
特别是,auth对象中包含的内容,如快速入门末尾的calednar.events.list调用中所示,以及如何从护照中获取它?
https://developers.google.com/google-apps/calendar/quickstart/nodejs
答案 0 :(得分:0)
您只需添加desired scopes即可访问Google Calendar API。
-Jim
答案 1 :(得分:0)
auth
是OAuth2
个对象。您可以在the googleapis source code的每个请求中查看它的处理方式。例如,您可以在上下文范围中设置如下:
google.calendar({
version: 'v3',
auth: oauth2Client
})
或在每个请求中,例如在入门示例代码中。
如果您想将它用于护照,我想你会有类似以下的内容,假设/auth/google
是auth端点:
function userLogged(req, res, next) {
if (req.isAuthenticated())
return next();
res.redirect('/auth/google');
}
app.get('/calendarList', userLogged, function(req, res) {
// req.user is the login user
var oauth2Client = new OAuth2(
config.clientID,
config.clientSecret,
config.callbackURL
);
oauth2Client.credentials = {
access_token: req.user.access_token,
refresh_token: req.user.refresh_token
};
var calendar = google.calendar('v3');
calendar.events.list({
auth: oauth2Client,
calendarId: 'primary',
timeMin: (new Date()).toISOString(),
maxResults: 10,
singleEvents: true,
orderBy: 'startTime'
}, function(err, response) {
// process result
});
});