Я создаю небольшое приложение Node / React, в котором я пытаюсь внедрить OAuth2 Google, чтобы запросить API Google Analytics.Я использую Passport.js для обработки аутентификации.
Тогда, насколько я понимаю, читая эту документацию мне нужно use token to call Google API
.Как мне это сделать?
У меня есть токен, передаваемый в переменную:
router.get(
"/auth/google/callback",
passport.authenticate("google", { failureRedirect: "/error", session: false }),
function(req, res) {
var token = req.user.token;
res.redirect("http://localhost:5000/?token=" + token);
}
);
Например, я хотел бы получить список всех представлений (профилей) для авторизованного пользователя.Как мне передать токен в этом примере?
function listViews() {
var request = gapi.client.analytics.management.profiles.list({
accountId: '~all',
webPropertyId: '~all'
});
request.execute(printViews);
}
Я пытался с этим:
router.get('/getData', function(req, res) {
googleAccounts.management.profiles.list(
{
accountId: '~all',
webPropertyId: '~all'
},
(err, data) => {
if (err) {
console.error('Error: ' + err)
res.send('An error occurred')
} else if (data) {
Console.log(data)
}
}
)
})
, но у меня есть ошибка Error: Login Required.