0

Search Console API는 검색 콘솔에 여러 사이트가 있어도 사이트 목록의 빈 배열을 반환합니다.Search Console API는 검색 콘솔에 여러 사이트가 있어도 사이트 목록의 빈 배열을 반환합니다.

검색 콘솔에 여러 사이트가 있습니다. 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 
    }