搜索控制台API返回网站列表的空数组,即使我的搜索控制台中有多个网站。
我的搜索控制台中有几个网站。当我使用api Explorer时,它们将在数组中返回。使用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());
我的结果:array(0){} 即使它在搜索控制台中有几个网站。
答案 0 :(得分:1)
搜索控制台站点和站点数据被视为用户数据,服务帐户无法访问。您必须创建一个Oauth 2接口并将令牌保存到文件中并在您的应用中使用该令牌。确保应用程序在到期时刷新令牌:
if ($client->isAccessTokenExpired()) {
$client->refreshToken($this->token['refresh_token']);
$token = $client->getAccessToken(); // save this to a file
}