我正在遵循https://github.com/googleapis/google-api-nodejs-client#installation官方指南,使用OAuth2部分中的“身份验证和授权”入门
遵循这些非常简单的几行代码根本无法工作。我已正确重定向,然后登录并允许请求的范围。至此,我被重定向到回调URL,成功解析了查询字符串中的代码,并通过调用oauth2Client.getToken(code)
将其传递给我的OAuth2Client对象。这是我完全迷失的地方,因为无论此方法是什么,总是返回“ undefined”。完全没有错误,只是“未定义”。至少可以说不是很有帮助。
const {google} = require('googleapis');
const oauth2Client = new google.auth.OAuth2(
'hidden',
'hidden',
'hidden'
);
/* GET home page. */
router.get('/home', function(req, res, next) {
try {
if (req.url.indexOf('/home') > -1) {
var code = req.query.code;
var error = req.query.error;
var session = req.session;
if(code!=null){
const {tokens} = oauth2Client.getToken(code); //Always returns undefined?
oauth2Client.credentials = tokens;
}
else{
res.redirect('/');
}
}
} catch (e) {
res.redirect('/err')
}
});