0

API Search Console возвращает пустой массив для списка сайтов, хотя у меня есть несколько сайтов в моей консоли поиска.API Search Console возвращает пустой массив для списка сайтов, хотя у меня есть несколько сайтов в моей поисковой консоли.

У меня есть несколько сайтов в моей консоли поиска. Когда я использую проводник api, они возвращаются в массив. Когда я использую клиентскую библиотеку PHP или Python, получите пустой результат с моими учетными данными учетной записи службы. Это, по-видимому, проблема с разрешениями, но учетная запись службы, которую я использую, имеет права доступа на роль владельца, поэтому это не имеет смысла. Любая помощь будет оценена!

Это мой код:

$client = new Google_Client(); 

$credentials_file = 'path/to/file.json'; 

$client->setAuthConfig($credentials_file); 

$client->setScopes(['https://www.googleapis.com/auth/webmasters']); 
$service = new Google_Service_Webmasters($client); 

var_dump($service->sites->listSites()->getSiteEntry()); 

Мой результат: массив (0) {} даже если она есть несколько веб-сайтов в поисковой консоли.

ответ

1

Сайты поисковых консолей и данные сайта считаются пользовательскими данными и не могут быть доступны для учетных записей служб. Вы должны сделать интерфейс Oauth 2 и сохранить токен в файл и использовать этот токен в своем приложении. Убедитесь, что приложение обновляет токен, когда оно истекает:

if ($client->isAccessTokenExpired()) { 
     $client->refreshToken($this->token['refresh_token']); 
     $token = $client->getAccessToken(); // save this to a file 
    } 
Смежные вопросы