Ошибка «Требуется вход в систему».Как войти в систему после получения токена oauth2 через Google API - PullRequest
3 голосов
/ 19 сентября 2019

Я создаю небольшое приложение Node / React, в котором я пытаюсь внедрить OAuth2 Google, чтобы запросить API Google Analytics.Я использую Passport.js для обработки аутентификации.

Я могу правильно получить токен:

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);
    }
);

Однако при попытке вызвать API управления Google Analytics у меня возникает следующая ошибка Error: Login Required.

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)

        }
      }
    )
})

Как мне войти?Какой шаг я пропускаю?

1 Ответ

0 голосов
/ 24 сентября 2019

Вы не отправляете токен доступа, если только вы не используете встроенную авторизацию gapi, вам нужно отправить токен доступа вручную в заголовке авторизации HTTP.

Пожалуйста, используйте следующий фрагмент для достижениято же самое.

function listViews() {
  gapi.client.setToken{
    access_token: <access-token>
  })
  ... rest of the function
...