Google Indexing API - 403 «Запрещенный ответ»

Я обращаюсь к API индексирования Google для размещения объявлений о вакансиях:

private $client;
private $httpClient;

public function initClient($kernel)
{
    $this->client = new \Google_Client();
    $this->client->setAuthConfig(JSON_KEY_HERE);
    $this->client->addScope('https://www.googleapis.com/auth/indexing');
    $this->httpClient = $this->client->authorize();
}

public function sendJob()
{
    $endpoint = 'https://indexing.googleapis.com/v3/urlNotifications:publish';
    $content = "{
                    \"url\": \"URL_HERE\",
                    \"type\": \"URL_UPDATED\"
                }";

    $response = $this->httpClient->post($endpoint, array('body' => $content));
}

При вызове API выдается ответ «403 - запрещено». .

Есть идеи, что на самом деле означает эта ошибка? Я правильно создал учетную запись службы, но не могу повторить успех из моей среды разработки.

Вы выполнили все шаги Предварительное условие, описанные в Быстрый запуск индексирования?

tehhowch 20.07.2018 01:40

ты чего-нибудь добился с этим?

Roger 31.07.2018 16:49

Также возникла эта проблема после следования руководству по быстрому запуску.

MarcGuay 02.08.2018 16:38
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
7
3
3 879
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Убедитесь, что вы добавили сервисный аккаунт в качестве владельца в Google Search Console, как описано здесь: https://developers.google.com/search/apis/indexing-api/v3/prereqs#verify-site.

Моя проблема заключалась в том, что у нас было несколько записей для домена в Search Console (с www и без, с https и без); после добавления учетной записи службы в качестве владельца ко всем 4 записям он работает.

"Убедитесь, что вы добавили сервисный аккаунт в качестве владельца в Google Search Console"

Ага. Используйте следующий фрагмент кода, чтобы изучить ответ тела и получить более подробное сообщение об ошибке.

    var body = result.Content.ReadAsStringAsync().Result;

если сообщение об ошибке выглядит следующим образом, это та же проблема.

"message": "В доступе отказано. Не удалось подтвердить право собственности на URL".

Стоит отметить: В новой версии поисковой консоли отсутствует. Внизу левого меню находится ссылка «перейти к старой версии». Нажмите на нее, а затем выберите «Сведения о подтверждении» в меню с шестеренкой (вверху справа). Затем нажмите ссылку с надписью «детали проверки» (серьезно!). Здесь вы увидите наконец-то список подтвержденных владельцев внизу страницы. Вы можете добавьте сюда нового владельца, используя адрес электронной почты вашей учетной записи службы (адрес также можно найти в вашем файле ключей json).

Голосование за раздел Стоит отметить:. Новая версия GSC не позволяет добавлять Владельца, только Полные или Ограниченные права ... и похоже, что Полных прав недостаточно. Спасибо, JM!

glennstar 12.03.2019 13:57

Стоит отметить ключ

shao 02.07.2019 22:51

Также стоит отметить, что теперь они просто перенаправляют старую консоль на новую, поэтому я не могу добавить нового владельца! Грррр

adam0101 20.09.2019 00:05

Хорошо, я наконец понял, как добавить владельца в новую Search Console. Нажмите «Настройки», «Пользователи и разрешения», затем нажмите на многоточие на Текущий владельца, чтобы управлять владельцами собственности.

adam0101 20.09.2019 00:12

Для новой консоли поиска Google выполните действия, упомянутые @ adam0101, чтобы добавить нового владельца.

Keyul 02.11.2019 08:08

При добавлении к комментарию @ Glennstar и ответу @JMs ссылка на старую версию больше не существует (возможно, у меня никогда не было старой версии), но если вы щелкните 3 вертикальные точки справа от владельца пользователя '(вы)' и выберите 'управлять свойством владельцы ', затем на следующей странице щелкните каждую из ссылок' детали проверки 'справа от вариантов вашего домена (example.com, http://www.example.com, https://www.example.com и т. д. или что-то еще) и добавьте владельца, т.е. вставьте адрес электронной почты gserviceaccount.com из json он также скажет, что право собственности делегировано текущим владельцем на этот адрес электронной почты.

После того, как статус этого адреса электронной почты изменился с «полного» разрешения на «владелец» обратно на странице консоли поиска, я мог запустить штраф вызова, и исходная ошибка 403 о невозможности проверить право собственности на URL исчезла. Спасибо, ребята, без этого я бы ничего не понял.

Вот ответ после пары дней головной боли. Откройте консоль поиска Google.

Предварительное условие: у вас уже должна быть учетная запись службы Google.

нажмите кнопку с тремя точками и нажмите кнопку управления владельцами собственности:

click the tri dot button, and click manage property owners

добавить адрес электронной почты учетной записи службы Google в качестве новых владельцев:

add google service account email as new owners

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