Как получить токен Яндекс Метрики и Вебмастера через OAuth


Окна OAuth Яндекса с выбором прав приложения и строка токена, заголовок «Токен Метрики и Вебмастера»

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

Получается он через собственное приложение в кабинете OAuth Яндекса. Само приложение ничего не делает, оно нужно как оформление доступа. Ниже весь путь по шагам.

✓
Коротко
  • Сначала регистрируется приложение на oauth.yandex.ru с типом «Для доступа к API или отладки».
  • В нём выбираются права, и если отметить права и Метрики, и Вебмастера, токен будет один на оба сервиса.
  • Токен приходит по ссылке с ClientID приложения, шаблон ссылки удобно хранить в файле.
  • Доступ бесплатный, нужен только аккаунт Яндекса.

Как это устроено

Яндекс не отдаёт токен напрямую. Сначала вы регистрируете приложение и перечисляете права, которые оно может запросить. Потом открываете ссылку со своим ClientID, подтверждаете доступ, и Яндекс показывает токен.

ЧтоЧто это такое
ПриложениеОформление доступа, в нём вы называете сервис и выбираете права
ClientIDНомер приложения, его подставляют в ссылку
ПраваСписок того, что токен разрешает делать
ТокенСам пропуск, его вы получаете в конце и храните у себя

Шаг 1. Создайте приложение

  1. Откройте oauth.yandex.ru, предварительно войдя в свой Яндекс ID.
  2. Нажмите «Создать». Яндекс спросит, какое приложение нужно.
  3. Выберите «Для доступа к API или отладки» и нажмите «Перейти к созданию».
Выбор типа приложения в OAuth Яндекса
Выбор типа приложения. Нужен вариант для доступа к API
  1. Введите название сервиса. Оно нужно только вам, подойдёт любое понятное.
  2. В поле для связи укажите рабочую почту. Яндекс будет присылать на неё уведомления об изменениях.
  3. Перейдите к блоку «Доступ к данным».
Создание приложения, название, почта и блок Доступ к данным
Создание приложения. Название, почта и блок «Доступ к данным»

Шаг 2. Выберите права

В поле «Название доступа» впишите metrika, и Яндекс покажет все возможные права для этого API. Отметьте нужные. Затем то же самое сделайте со словом webmaster. Когда всё выбрано, прокрутите вниз и нажмите «Создать приложение».

В карточке приложения, в блоке «Запрашиваемые права», видно, что именно можно забрать через API.

  • Метрика. Создание счётчиков, управление сегментами, загрузка данных, статистика, расходы.
  • Вебмастер. Информация о внешних ссылках, добавление сайтов, статус индексирования.
Карточка приложения, блок Запрашиваемые права
Карточка приложения. Блок «Запрашиваемые права»

Какие права выбирать

Права лучше давать по задаче. Если вам нужно только смотреть цифры, хватит прав на чтение статистики. Для управления счётчиками, целями и фильтрами в списке есть отдельные права на запись.

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

Шаг 3. Получите токен

Токен выдаётся по специальной ссылке. Возьмите шаблон и подставьте в него свой ClientID. Подробнее про такой способ есть в документации Метрики.

Шаблон ссылки
https://oauth.yandex.ru/authorize?response_type=token&client_id=
  1. Откройте карточку приложения и скопируйте ClientID. Поле Client secret не нужно, его не трогайте.
  2. Подставьте ClientID в шаблон вместо заглушки и откройте ссылку в браузере.
  3. Яндекс попросит ещё раз войти в аккаунт. Войдите и подтвердите доступ.
  4. На странице появится длинная строка. Это и есть токен. Скопируйте его целиком и сохраните в файл.
ClientID в карточке приложения, значения закрыты
ClientID находится в карточке приложения. Значения закрыты
Список приложений в кабинете OAuth Яндекса
Список приложений. Созданное приложение появится здесь

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

Токен выглядит так. Значение выдуманное, оно нигде не работает.

y0__TEST_FAKE_TOKEN_0000000000000000000000000000

Настоящий токен тоже начинается на y0 и бывает ещё длиннее.

Как проверить, что токен работает

Подставьте свой токен. В ответ должен прийти список ваших счётчиков Метрики.

curl -H "Authorization: OAuth ВАШ_ТОКЕН" https://api-metrika.yandex.net/management/v1/counters

Для Вебмастера токен тот же, меняется только адрес API. Проще всего попросить нейросеть сделать этот запрос, как я показываю в статье про подключение нейросети.

Как токен используется в запросах

Токен передаётся в заголовке запроса после слова OAuth, как в примере выше. Если токен неверный, Яндекс отвечает ошибкой доступа. У меня с неверным токеном пришёл код 403. Это самый частый признак того, что токен скопирован не целиком.

Чтобы читать данные счётчика, у вас должен быть доступ к нему. Владелец, гостевой доступ на просмотр или гостевой доступ на редактирование, если нужно управлять. Как выдать такой доступ, я описывал в отдельной статье.

Подписаться на канал про Digital-маркетинг

Реальные кейсы, новые подходы Performance-маркетинга и разборы рекламных кабинетов выходят там чаще и раньше, чем в блоге.

Подписаться в Telegram

Что может пойти не так

Что видитеСкорее всегоЧто делать
Не приходит список счётчиковТокен скопирован не целиком или не выданы праваПолучите токен заново по ссылке и проверьте, что в приложении выбраны все права
Токен получен, но доступа нетВ ссылку подставлен не тот ClientIDСверьте ClientID со значением в карточке приложения
Яндекс просит войти ещё разЭто нормально при получении токенаВойдите и подтвердите доступ

Нужна помощь с настройкой Метрики и данных?

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