Учетные данные Google Search Console API

Я хочу подключиться к API Google Search Console через ruby-клиент. Для этого требуются учетные данные для аутентификации.

Вызовы API будут часто выполняться из функции AWS Lambda для доступа к данным в моей собственной учетной записи Google.

Я надеялся, что смогу просто создать ключ учетной записи службы Google, однако при его создании требуется роль, а роли, связанные с консолью поиска, отсутствуют.

Я не хочу использовать учетные данные идентификатора клиента OAuth, поскольку для приложения нет пользовательского интерфейса.

Как я могу аутентифицироваться?


person Dan    schedule 23.01.2019    source источник


Ответы (1)


Для доступа к API требуется токен доступа OAuth. Однако мне действительно был нужен токен обновления, поскольку срок их действия не истекает, и их можно использовать для получения токена доступа каждый раз при запуске скрипта.

Вы можете использовать Google OAuth Playground для создания токена.

  1. Создайте консоль приложений Google — https://console.cloud.google.com/apis/dashboard > создать приложение > Включить нужные API > перейти к учетным данным > Создать учетные данные > Идентификатор клиента OAuth > Другое > Скопировать свои учетные данные
  2. Измените учетные данные и добавьте авторизованный URI перенаправления https://developers.google.com/oauthplayground.
  3. Перейдите на страницу https://developers.google.com/oauthplayground.
  4. Щелкните значок настроек > установите флажок «Использовать собственные учетные данные OAuth» и установите учетные данные клиента OAuth с шага 1.
  5. Выберите нужные области
  6. Код авторизации Exchange для токенов — теперь вы можете получить токен обновления, срок действия которого не истечет!

Если вы не используете «Использовать собственные учетные данные OAuth», срок действия вашего токена обновления истечет через 24 часа.

person Dan    schedule 07.02.2019
comment
Вы ГЕРОЙ. Однако шаг 2 был другим для меня - я не видел возможности скопировать ваши учетные данные или добавить авторизованный URI перенаправления. Вместо выбора «Другое» при создании нового идентификатора клиента OAuth я выбрал «Веб-приложение», и появилось поле URI перенаправления. - person MisterGreen; 22.05.2019
comment
Хм, срок действия моего токена доступа истек примерно через час. Вы знаете, как запросить новый через API? Предположительно, используя токен обновления? - person MisterGreen; 22.05.2019
comment
Ответил на мой собственный вопрос: мне нужно получить новый токен с помощью POST для googleapis.com/oauth2/ v4/token со следующими параметрами тела: { client_id, client_secret, refresh_token, grant_type: refresh_token } - person MisterGreen; 22.05.2019