Авторизация

В этом руководстве описывается, как приложение авторизует запросы к API удаления пользователей.

Авторизация запросов

Прежде чем пользователи смогут просмотреть информацию о своих учетных записях на веб-сайте Google Analytics, им необходимо сначала войти в свои учетные записи Google. Аналогично, при первом доступе к вашему приложению пользователям необходимо разрешить приложению доступ к их данным.

Каждый запрос, отправляемый вашим приложением в API Analytics, должен включать токен авторизации. Этот токен также идентифицирует ваше приложение для Google.

О протоколах авторизации

Для авторизации запросов ваше приложение должно использовать OAuth 2.0 . Другие протоколы авторизации не поддерживаются. Если ваше приложение использует вход через Google , некоторые аспекты авторизации обрабатываются автоматически.

Авторизация запросов с использованием OAuth 2.0

Все запросы к API аналитики должны быть авторизованы аутентифицированным пользователем.

Детали процесса авторизации, или «потока», для OAuth 2.0 несколько различаются в зависимости от типа разрабатываемого приложения. Следующий общий процесс применим ко всем типам приложений:

  1. При создании приложения вы регистрируете его через консоль Google API . Затем Google предоставляет информацию, которая понадобится вам позже, например, идентификатор клиента и секретный ключ клиента.
  2. Активируйте API Analytics в консоли Google API. (Если API не отображается в консоли API, пропустите этот шаг.)
  3. Когда вашему приложению требуется доступ к пользовательским данным, оно запрашивает у Google определенный объем доступа.
  4. Google отображает пользователю экран согласия , в котором ему предлагается разрешить вашему приложению запрашивать некоторые из его данных.
  5. Если пользователь одобрит запрос, Google предоставит вашему приложению кратковременный токен доступа .
  6. Ваше приложение запрашивает данные пользователя, прикрепляя к запросу токен доступа.
  7. Если Google определит, что ваш запрос и токен действительны, он вернет запрошенные данные.

Некоторые сценарии включают дополнительные шаги, например, использование токенов обновления для получения новых токенов доступа. Подробную информацию о сценариях для различных типов приложений см. в документации Google по OAuth 2.0 .

Вот информация об области действия OAuth 2.0 для API аналитики:

Объем Значение
https://www.googleapis.com/auth/analytics.user.deletion Удаление данных с помощью API удаления пользователей.

Для запроса доступа с использованием OAuth 2.0 вашему приложению необходима информация об области действия, а также информация, которую Google предоставляет при регистрации вашего приложения (например, идентификатор клиента и секретный ключ клиента).

Совет: Клиентские библиотеки Google API могут взять на себя часть процесса авторизации. Они доступны для различных языков программирования; подробную информацию можно найти на странице с библиотеками и примерами .

Общие потоки OAuth 2.0

Ниже перечислены распространенные сценарии использования конкретных потоков OAuth 2.0:

Веб-сервер

Этот алгоритм хорошо подходит для автоматического, автономного или запланированного доступа к данным Google Analytics пользователя.

Пример:

  • Автоматическое обновление пользовательских панелей управления с использованием последних данных Google Analytics.

На стороне клиента

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

Пример:

  • Инструмент для создания отчетов на основе браузера, например, Analytics Query Explorer .

Установленные приложения

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

Примеры:

  • Виджет рабочего стола на ПК или Mac.
  • Плагин для системы управления контентом — Преимущество этого подхода по сравнению с веб-сервером или клиентской частью заключается в том, что для вашего приложения можно использовать один проект API Console. Это позволяет создавать консолидированные отчеты и упрощает установку для пользователей.

Служебные аккаунты

Сервисные аккаунты полезны для автоматического, автономного или запланированного доступа к данным Google Analytics для вашего собственного аккаунта. Например, для создания интерактивной панели мониторинга ваших собственных данных Google Analytics и предоставления к ней доступа другим пользователям.

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

Для создания новой учетной записи службы выполните следующие действия:

  1. Нажмите «Создать учетные данные» > «Ключ учетной записи службы» .
  2. Выберите, следует ли загружать открытый/закрытый ключ учетной записи службы в виде стандартного файла P12 или в виде файла JSON, который может быть загружен клиентской библиотекой Google API.

Ваша новая пара открытого/закрытого ключей генерируется и загружается на ваш компьютер; она служит единственной копией этого ключа. Вы несете ответственность за его безопасное хранение.

Поиск неисправностей

В следующих ситуациях авторизация не удается:

  • Если срок действия вашего access_token истек или если вы используете неправильную область действия для API, вы получите код состояния 401

  • Если у авторизованного пользователя нет доступа к представлению (профилю), вы получите код состояния 403 Убедитесь, что вы авторизованы под правильным пользователем и что у него действительно есть доступ к выбранному вами представлению (профилю).

Игровая площадка OAuth 2.0

Этот инструмент позволяет пройти весь процесс авторизации через веб-интерфейс. Инструмент также отображает все заголовки HTTP-запроса, необходимые для выполнения авторизованного запроса. Если у вас не получается настроить авторизацию в собственном приложении, попробуйте сделать это через площадку OAuth 2.0. Затем вы можете сравнить заголовки HTTP и запрос из площадки с тем, что ваше приложение отправляет в Google Analytics. Эта проверка — простой способ убедиться в правильности форматирования ваших запросов.

Недействительный грант

При попытке использовать токен обновления возвращается ошибка invalid_grant :

Приложения могут запрашивать несколько токенов обновления для доступа к одной учетной записи Google Analytics.

Например, если пользователь хочет установить приложение на несколько компьютеров и получить доступ к одной и той же учетной записи Google Analytics, то для каждого компьютера потребуется отдельный токен. Когда количество токенов обновления превысит лимит, старые токены станут недействительными. Если приложение попытается использовать недействительный токен обновления, будет возвращена ошибка invalid_grant .

Для каждой уникальной пары клиент OAuth 2.0 и учетная запись Google Analytics установлено ограничение в 25 токенов обновления . Если приложение продолжает запрашивать токены обновления для одной и той же пары клиент/учетная запись, после выдачи 26-го токена первый ранее выданный токен обновления станет недействительным. 27-й запрошенный токен обновления сделает недействительным второй ранее выданный токен и так далее.