API индексации 403 Отказано в доступе. Не удалось подтвердить владение URL

Я хочу выполнить код из примера:

    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 "В доступе отказано. Не удалось подтвердить право собственности на URL".

  1. Я создал учетную запись службы и прочитал файл в моем приложении.
  2. Сайт проверен. screeen1
  3. Доступ к сервисной учетной записи полный. screeen2
  4. Я использовал домен без "www" и https в поисковой консоли и в моем приложении.
  5. API индексации включен и запросы приходят.

Что еще нужно сделать и проверить, чтобы получить доступ?

0 ответов

Как уже упоминалось, ваша учетная запись службы должна быть "владельцем" (а не "полной"). С новой поисковой консолью практически невозможно установить для учетной записи службы значение "Владелец", к счастью, вы можете использовать старый инструмент для веб-мастеров.

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

Полный доступ!== Владелец. Мне нужно лучше прочитать документацию.

Другие вопросы по тегам