索引 API 403 权限被拒绝。无法验证 URL 所有权
Indexing API 403 Permission denied. Failed to verify the URL ownership
我想执行示例中的代码:
require_once 'google-api-php-client/vendor/autoload.php';
$client = new Google_Client();
// service_account_file.json is the private key that you created for your service account.
$client->setAuthConfig('service_account_file.json');
$client->addScope('https://www.googleapis.com/auth/indexing');
// Get a Guzzle HTTP Client
$httpClient = $client->authorize();
$endpoint = 'https://indexing.googleapis.com/v3/urlNotifications:publish';
// Define contents here. The structure of the content is described in the next step.
$content = "{
\"url\": \"http://example.com/jobs/42\", //I used real url from my homepage
\"type\": \"URL_UPDATED\"
}";
$response = $httpClient->post($endpoint, [ 'body' => $content ]);
$status_code = $response->getStatusCode();
但作为回应,我得到一个错误:403 "Permission denied. Failed to verify the URL ownership."。
- 我创建了服务帐户并在我的应用程序中读取了文件。
- 网站已验证。 screeen1
- 对服务帐户的访问权限已满。 screeen2
- 我在搜索控制台和我的应用程序中使用了没有 "www" 和 https 的域。
- 索引 API 启用,请求来了。
还需要做什么和检查才能获得访问权限?
回答
完全访问权限 !== 所有者。我需要更好地阅读文档。
完全访问权限 !== 所有者。我需要更好地阅读文档。
如前所述,您的服务帐户应该是 "owner"(而不是 "full")。
使用新的搜索控制台,几乎不可能将服务帐户设置为所有者,幸运的是,您可以使用 old Webmasters tool.
我想执行示例中的代码:
require_once 'google-api-php-client/vendor/autoload.php';
$client = new Google_Client();
// service_account_file.json is the private key that you created for your service account.
$client->setAuthConfig('service_account_file.json');
$client->addScope('https://www.googleapis.com/auth/indexing');
// Get a Guzzle HTTP Client
$httpClient = $client->authorize();
$endpoint = 'https://indexing.googleapis.com/v3/urlNotifications:publish';
// Define contents here. The structure of the content is described in the next step.
$content = "{
\"url\": \"http://example.com/jobs/42\", //I used real url from my homepage
\"type\": \"URL_UPDATED\"
}";
$response = $httpClient->post($endpoint, [ 'body' => $content ]);
$status_code = $response->getStatusCode();
但作为回应,我得到一个错误:403 "Permission denied. Failed to verify the URL ownership."。
- 我创建了服务帐户并在我的应用程序中读取了文件。
- 网站已验证。 screeen1
- 对服务帐户的访问权限已满。 screeen2
- 我在搜索控制台和我的应用程序中使用了没有 "www" 和 https 的域。
- 索引 API 启用,请求来了。
还需要做什么和检查才能获得访问权限?
回答
完全访问权限 !== 所有者。我需要更好地阅读文档。
完全访问权限 !== 所有者。我需要更好地阅读文档。
如前所述,您的服务帐户应该是 "owner"(而不是 "full")。 使用新的搜索控制台,几乎不可能将服务帐户设置为所有者,幸运的是,您可以使用 old Webmasters tool.