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

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

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

  • Перейдите на страницу регистрации приложений Яндекса: https://oauth.yandex.ru/client/new.
  • Войдите в свой аккаунт Яндекса, если вы еще не авторизованы.

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

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

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

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

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

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

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

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

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

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

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

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

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


    https://oauth.yandex.ru/authorize?response_type=token&client_id=YOUR_CLIENT_ID&scope=metrika
  • Выберите аккаунт Яндекса, для которого хотите получить токен.

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

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

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

https://your-callback-url.com/#access_token=YOUR_OAUTH_TOKEN&token_type=bearer&expires_in=31536000
  • Скопируйте значение access_token — это и есть ваш OAuth-токен.

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

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

    https://oauth.yandex.ru/authorize?response_type=code&client_id=YOUR_CLIENT_ID&scope=metrika
  • Получите код авторизации после разрешения доступа.

  • Обменяйте код на токен с помощью 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"
    }
    

7. Проверка токена (опционально)

  • Вы можете проверить работоспособность токена, отправив тестовый запрос к 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
    
  • Если токен действителен, вы получите список ваших счетчиков.

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

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

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

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