索引 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."。

  1. 我创建了服务帐户并在我的应用程序中读取了文件。
  2. 网站已验证。 screeen1
  3. 对服务帐户的访问权限已满。 screeen2
  4. 我在搜索控制台和我的应用程序中使用了没有 "www" 和 https 的域。
  5. 索引 API 启用,请求来了。

还需要做什么和检查才能获得访问权限?

回答

完全访问权限 !== 所有者。我需要更好地阅读文档。

完全访问权限 !== 所有者。我需要更好地阅读文档。

如前所述,您的服务帐户应该是 "owner"(而不是 "full")。 使用新的搜索控制台,几乎不可能将服务帐户设置为所有者,幸运的是,您可以使用 old Webmasters tool.

https://support.google.com/webmasters/thread/4763732?hl=en