Я уже аутентифицировал своего пользователя с помощью Passport.js и получил токен доступа обратно. Я должен иметь возможность использовать этот токен для использования API таблиц Google, но я попробовал несколько способов доступа к API без какой-либо удачи. Вот моя аутентификация с паспортом, а затем мой app.get из Google API. Я уверен, что делаю это неправильно, но я не знаю, как двигаться дальше.
passport.use(
new GoogleStrategy({
// options for the strategy
callbackURL: callbackURI,
clientID: clientID,
clientSecret: clientSecret,
}, (accessToken, refreshToken, profile, done)=>{
// check if user already exists in our db
User.findOne({googleId: profile.id}).then((currentUser)=>{
if(currentUser){
// already have the user
console.log('User is: ' + currentUser);
console.log("Access token is: " + accessToken);
console.log("Refresh token is:" + refreshToken);
token = accessToken;
done(null, currentUser)
} else {
// if not, create user in the db
new User({
username: profile.displayName,
googleId: profile.id
}).save().then((newUser)=>{
console.log('New user created: ' + newUser);
done(null, newUser);
});
}
});
}
));
// Google API Access Attempt
app.get('/index/auth/spreadsheets',
passport.authenticate('bearer', { session: false }),
function(req, res) {
res.json(req.user);
Sheets.spreadsheet.create({
title: "Text SpreadSheet"
})
});