API Google Analytics — ошибка аутентификации oAuth2

Я безуспешно пытаюсь получить информацию из Analytics и Youtube Analytics. Я использую PHP API.

Я пытался подключиться к сервисной учетной записи, и она работает нормально.

К сожалению, я вынужден использовать протокол oAuth2, так как мне также нужно получать данные из Youtube Analytics, и для этого требуется аутентификация oAuth2.

Вот код, который я использую:

require_once 'vendor/autoload.php';

// create the client and connect
$client = new Google_Client();
$client->setAuthConfig('client_secrets.json');
$client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']);

// send the query
$service = new Google_Service_Analytics($client);
$id = 'ga:XXXXXX';
$start_date = '2016-09-01';
$end_date = '2016-09-10';
$metrics = 'ga:visitors';
$data = $service->data_ga->get($id, $start_date, $end_date, $metrics);

Вот сообщение об ошибке:

Неустранимая ошибка: необработанное исключение "Google_Service_Exception" с сообщением "{"error":{"errors":[{"domain":"global","reason":"required","message":"Required Login","locationType ":"заголовок","местоположение":"Авторизация"}],"код":401,"сообщение":"Требуется вход в систему"}}'

Я часами пытался решить эту ошибку, но не могу найти почему. Моя первая мысль заключалась в том, что setAuthConfig не регистрирует меня автоматически, но я видел много примеров в Интернете с использованием точно такого же метода, в том числе в документации API.

Что мне не хватает?

Большое спасибо за прочтение и, возможно, за ответ!


person Jose-Xavier Morin    schedule 15.10.2016    source источник


Ответы (1)


Ошибка 401 означает

Invalid Credentials Указывает, что токен аутентификации недействителен или срок его действия истек.

Вы должны получить новый токен авторизации.

Источник

person Nick    schedule 17.10.2016