Я использую следующий код, чтобы получить статистику для моего сайта из поисковой консоли:
$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.
Я также добавил адрес электронной почты учетной записи службы в свое свойство консоли поиска как владелец, но ошибка все еще существует. Я больше не знаю, что я делаю не так?
Так что проблема решается!
Проблема в том, что сначала нужно добавить учетную запись службы в свойство консоли поиска, затем дать ему разрешение, а затем передать его владельцу, и вы снова не получите ошибку разрешения!
Нашел решение здесь:
Google Webmasters API для Java возвращает пустой список сайтов
Проверьте, указана ли недвижимость в списке сайтов: https://developers.google.com/webmaster-tools/v3/sites/list
Перепроверьте HTTPS и WWW в свойстве URL.