Вызов API Яндекс Метрики из браузера

Обращаться ко всем разделам API Яндекс Метрики можно непосредственно из браузера. Способ позволяет:
  • обращаться только к адресу Яндекс Метрики, размещенному на домене .net;
  • отправлять запросы исключительно на чтение данных (GET).
Для работы с API из браузера необходимо использовать авторизационный токен. Чтобы получить токен:
  1. Создайте приложение, при этом заполните поля:
    • название — можно указать произвольно;
    • иконка сервиса — необязательно;
    • платформы приложения — выберите веб-сервисы;
    • redirect URI — укажите https://oauth.yandex.ru/verification_code;
    • доступ к данным — укажите metrika:read.
  2. Нажмите Создать приложение и скопируйте его ClientID (напротив идентификатора нажмите значок ).
  3. Добавьте скопированный ClientID в ссылку вида
    https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор приложения>
  4. Перейдите по ссылке и на открывшейся странице скопируйте ваш авторизационный токен.
Внимание. Не выбирайте тип metrika:write, так как непосредственно из браузера нельзя отправлять запросы на изменение данных (POST, PUT и DELETE).

Кроме этого, токен может быть выгружен из браузера и использован для обращений к API без вашего ведома. Поэтому обеспечьте безопасное хранение авторизационного токена, не передавайте его третьим лицам.

Если у вас уже есть авторизационный токен с правами на чтение и запись, для вызова API из браузера получите отдельный токен — только на получение статистики и чтение параметров счетчиков.

Пример использования токена в запросе

В примере для обращения к серверу Метрики используется метод fetch:

fetch(
  'https://api-metrika.yandex.net/stat/v1/data?preset=sources_summary&id=44147844', {
    headers: {
      "Authorization": "OAuth 05dd3dd84ff948fdae2bc4fb91f13e22bb1f289ceef0037"
    } 
  })
  .then(r => r.json())
  .then(metrikaApiJSON => {
    ...
  })

где 05dd3dd84ff948fdae2bc4fb91f13e22bb1f289ceef0037 — авторизационный токен.