Получить текущих пользователей: Google Real Time API с NodeJS & gtoken: "Неверные учетные данные"

Я хотел бы использовать сервер NodeJS для получения текущих пользователей на моем веб-сайте из Google Analytic с использованием API отчетности в реальном времени:

До сих пор я пытаюсь сделать это через HTTP-запрос с запросом и gtoken. GetToken-Part работает. Я получаю токен. Но HTTP-запрос не работает. Я получаю ошибку "Недействительные учетные данные" с кодом 401.

У кого-нибудь есть идеи, что делать? Возможно, это совершенно неправильный подход к получению этих данных.

var received_token;
var url = "https://www.googleapis.com/analytics/v3/data/realtime";
var paramsObject = { ids:"ga:123456789"};

const gtoken = new GoogleToken({
      keyFile: 'pathToServiceAccountJSONKeyFile:',
      scope: ['https://www.googleapis.com/auth/analytics.readonly']
});

gtoken.getToken(function(err, token) {
  if (err) {
        console.log(err);
        return;
  }
  received_token = token;
  console.log(token);
  request({
        url:  url,
        qs:   paramsObject,
        headers: {
          'Authorization': received_token
    }
  }, function(err, response, body) {
    if(err) { console.log(err); return; }
    // console.log(response);
    console.log(body);
});

1 ответ

Решение

Я нашел ошибку:-)

В заголовке авторизации отсутствовал "Носитель", теперь он работает как шарм, и я получаю данные от Google Real Time API.

headers: {
    'Authorization': "Bearer " +received_token
     }
Другие вопросы по тегам