API Google Analytics для веб-мастеров получает сообщение об ошибке «Недостаточно прав доступа»: 403

Я создал сервисную учетную запись и ниже указан мой код:

    $client = new Google_Client();

$client->setApplicationName("Console_Client");

$client->setAuthConfigFile('xxaax.json');

$scopes = [
//"https://www.googleapis.com/auth/webmasters",
//"https://www.googleapis.com/auth/webmasters.readonly"Google_Service_Webmasters::WEBMASTERS_READONLY,
Google_Service_Webmasters::WEBMASTERS,
];

$client->setScopes($scopes);

$client->setAccessType('offline');

$service = new Google_Service_Webmasters($client);

$request = new Google_Service_Webmasters_SearchAnalyticsQueryRequest();

$optParams = array('siteUrl' => 'https://www.test.co/');

$request->startDate = "2018-01-01";

$request->endDate   = "2018-01-02";

$results = $service->searchanalytics->query($optParams, $request);

Я получаю это сообщение об ошибке в ответ:

Неустранимая ошибка PHP: Uncaught Google_Service_Exception
«причина»: «Недостаточно прав доступа»

Я включил этот API в своем аккаунте, а также могу использовать его при попытке открыть Google API Explorer.

Почему это происходит?

0

Решение

Для этого нам нужно создать сервисный аккаунт. Это предпочтительно в случае, когда вы нажимаете API с консоли, и у вас нет веб-интерфейса для OAuth2.0.

Для этого конкретного случая есть идентификатор учетной записи службы (выглядит как длинная строка электронной почты). Скопируйте это и добавьте его в свой аккаунт Google.
Выполнение выше решило мою проблему.

Этот шаг не был понятен в документации Google API.

Надеюсь, это поможет кому-то в будущем.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]