php | Сервисный аккаунт API Google для веб-мастеров не имеет разрешения

Я использую следующий код, чтобы получить статистику для моего сайта из консоли поиска:

$client = new Google_Client();
$creds = $client->loadServiceAccountJson('---JSON FILE---', 'https://www.googleapis.com/auth/webmasters.readonly');
$client->setAssertionCredentials($creds);


$service = new Google_Service_Webmasters($client);

$ressource = $service->searchanalytics;

$options = new Google_Service_Webmasters_SearchAnalyticsQueryRequest();
$options->setStartDate('2015-11-11');
$options->setEndDate('2015-11-11');

try{
    $response = $ressource->query('http://www.example.com/', $options);
} catch (Exception $e){
    echo $e->getMessage();
}

Я использую учетную запись службы Google для авторизации вызова API, но выдает ошибку:

Ошибка при вызове POST https://www.googleapis.com/webmasters/v3/sites/http%3A%2F%2Fwww.example.com%2F/searchAnalytics/query: (403) У пользователя недостаточно прав для сайта 'http* ://www.example.com/'. См. также: https://support.google.com/webmasters/answer/2451999.

Я также добавил адрес электронной почты учетной записи службы в свойство консоли поиска в качестве владельца, но ошибка все еще существует. Я уже не знаю, что я делаю не так?


person Innodeta    schedule 14.11.2015    source источник


Ответы (2)


Так что проблема решается!

Проблема в том, что сначала вам нужно добавить учетную запись службы в свойство консоли поиска, затем дать ей разрешение, а затем сделать его владельцем, и вы больше не получите ошибку разрешения!

Решение найдено здесь: API Google Webmasters для Java возвращает пустой список сайтов.

person Innodeta    schedule 16.11.2015

Проверьте, указано ли свойство в списке сайтов: https://developers.google.com/webmaster-tools/v3/sites/list

Дважды проверьте https и www в URL свойства.

person Alex    schedule 15.11.2015
comment
Спасибо за ваш ответ. Ответ представляет собой пустой массив SiteEntry, в котором должен быть указан мой сайт. Это странно, потому что я указал учетную запись службы как владельца сайта в консоли поиска. - person Innodeta; 16.11.2015