如何将 Passport.js Google OAuth2 策略与 Google api 一起使用?
How to use Passport.js Google OAuth2 strategy with Google api?
我已经在我的网站上添加了 passport google oauth 2.0,它工作正常。
这是对 google 的初始身份验证调用:
router.get("/google",
passport.authenticate('google',
{ scope: ["https://www.googleapis.com/auth/drive",
"https://www.googleapis.com/auth/userinfo.profile"]
}));
但是当我访问驱动器 API 时,出现错误。
例如,当我使用:
const drive = google.drive({ version: "v3", auth});
drive.files.create(
{
.......
}
我收到一个错误:
code: 401, errors: [ { domain: 'global', reason: 'required', message: 'Login Required', locationType: 'header', location: 'Authorization' } ]
有没有办法在登录期间使用令牌并协调护照登录和 api 访问?
您的示例中 auth
是什么?
你试过了吗:
const oauth2Client = new google.auth.OAuth2()
oauth2Client.setCredentials({
'access_token': req.user.accessToken
});
const drive = google.drive({
version: 'v3',
auth: oauth2Client
});
我已经在我的网站上添加了 passport google oauth 2.0,它工作正常。
这是对 google 的初始身份验证调用:
router.get("/google",
passport.authenticate('google',
{ scope: ["https://www.googleapis.com/auth/drive",
"https://www.googleapis.com/auth/userinfo.profile"]
}));
但是当我访问驱动器 API 时,出现错误。
例如,当我使用:
const drive = google.drive({ version: "v3", auth});
drive.files.create(
{
.......
}
我收到一个错误:
code: 401, errors: [ { domain: 'global', reason: 'required', message: 'Login Required', locationType: 'header', location: 'Authorization' } ]
有没有办法在登录期间使用令牌并协调护照登录和 api 访问?
您的示例中 auth
是什么?
你试过了吗:
const oauth2Client = new google.auth.OAuth2()
oauth2Client.setCredentials({
'access_token': req.user.accessToken
});
const drive = google.drive({
version: 'v3',
auth: oauth2Client
});