Перейти к основному контенту

OAuth-токен для Яндекс Метрики

Зарегистрируйте приложение в Яндекс OAuth

  1. Перейдите на страницу регистрации приложений Яндекса.
  2. Войдите в свой аккаунт Яндекса, если вы еще не авторизованы.

Создайте новое приложение

  • Название приложения — укажите понятное название вашего приложения или проекта;
  • Описание — кратко опишите назначение приложения (опционально);
  • Платформы — выберите платформу, например, Веб-сервисы;
  • Callback URI — если требуется, укажите URL для обратного вызова (для серверных приложений это не обязательно).

Укажите права доступа (Scope)

  1. В разделе Доступ к данным выберите необходимые права для работы с Яндекс Метрикой:
    • Яндекс Метрика (metrika):
      • Метрика: чтение статистики — для доступа к статистике;
      • Метрика: редактирование счетчиков — если нужно создавать или изменять счетчики;
      • Метрика: управление конфигурацией — для управления целями, фильтрами и прочими настройками;
  2. Убедитесь, что выбранные права соответствуют вашим потребностям.

Сохраните приложение

  1. Нажмите кнопку Создать приложение.
  2. После сохранения вы будете перенаправлены на страницу с информацией о вашем приложении.

Получите идентификаторы

  • ID приложения (Client ID) — уникальный идентификатор вашего приложения;
  • Пароль приложения (Client Secret) — секретный ключ вашего приложения.

Важно! Бережно храните Client Secret и не передавайте его третьим лицам.

Получите OAuth-токен

Существует два способа получения OAuth-токена: вручную через веб-интерфейс или программно через OAuth-протокол.

Способ 1: Получение токена через веб-интерфейс (для личного использования)

1. Перейдите по ссылке для получения токена, заменив YOUR_CLIENT_ID на ваш Client ID:


https://oauth.yandex.ru/authorize?response_type=token&client_id=YOUR_CLIENT_ID&scope=metrika

2. Выберите аккаунт Яндекса, для которого хотите получить токен.

3. Разрешите доступ приложению, нажав кнопку Разрешить.

4. После этого вы будете перенаправлены на указанный Callback URI, а в адресной строке будет содержаться ваш OAuth-токен.

Пример адресной строки:

https://your-callback-url.com/#access_token=YOUR_OAUTH_TOKEN&token_type=bearer&expires_in=31536000

5. Скопируйте значение access_token — это и есть ваш OAuth-токен.

Способ 2: Получение токена программно через OAuth-протокол

1. Сформируйте запрос на получение кода авторизации:

https://oauth.yandex.ru/authorize?response_type=code&client_id=YOUR_CLIENT_ID&scope=metrika

2. Получите код авторизации после разрешения доступа.

3. Обменяйте код на токен с помощью POST-запроса к API:

POST https://oauth.yandex.ru/token

Параметры запроса:

  • grant_type=authorization_code;
  • code=AUTHORIZATION_CODE (полученный на предыдущем шаге);
  • client_id=YOUR_CLIENT_ID;
  • client_secret=YOUR_CLIENT_SECRET.

Пример запроса с использованием curl:

curl -X POST https://oauth.yandex.ru/token \
  -d 'grant_type=authorization_code' \
  -d 'code=AUTHORIZATION_CODE' \
  -d 'client_id=YOUR_CLIENT_ID' \
  -d 'client_secret=YOUR_CLIENT_SECRET'

В ответе вы получите JSON с вашим OAuth-токеном:

{
  "access_token": "YOUR_OAUTH_TOKEN",
  "expires_in": 31536000,
  "token_type": "bearer"
}
Проверка токена (опционально)

Вы можете проверить работоспособность токена, отправив тестовый запрос к API Яндекс Метрики:

GET https://api-metrika.yandex.net/management/v1/counters

Добавьте заголовок авторизации:

Authorization: OAuth YOUR_OAUTH_TOKEN

Пример запроса с использованием curl:

curl -H "Authorization: OAuth YOUR_OAUTH_TOKEN" \
https://api-metrika.yandex.net/management/v1/counters

Если токен действителен, вы получите список ваших счетчиков.

Используйте OAuth-токен в вашем приложении

  1. Сохраните токен в безопасном месте, например, в настройках вашего приложения или бота.
  2. Передавайте токен в заголовках Authorization при запросах к API Яндекс Метрики.

Важные замечания

  • Безопасность — никогда не публикуйте ваш OAuth-токен и Client Secret в открытых источниках или репозиториях;
  • Срок действия токена — по умолчанию токен действует один год (expires_in: 31536000 секунд). По истечении срока потребуется получить новый токен;
  • Отзыв токена — вы можете в любой момент отозвать токен в настройках своего аккаунта Яндекса в разделе Приложения с доступом к аккаунту.