Яндекс.Метрика — получение логов
Пример решения задачи на базе аналитической low-code платформы Loginom:
- Скачать бесплатно Loginom Community Edition
- Скачать бесплатно пакет, реализующий описанный сценарий
С появлением программного интерфейса Logs API у пользователей Яндекс.Метрики появилась возможность импортировать неагрегированные данные за любой период. Они содержат более подробную информацию о каждом визите или просмотре, что позволяет самостоятельно строить аналитические отчеты.
В частности, для анализа доступны данные по Директу, электронной коммерции, местоположению посетителя, а также различная техническая информация о визите (например, тип устройства).
Исходные данные
Имя поля | Метка | Комментарий |
---|---|---|
OAuth | Авторизационный токен. Подробную информацию по его получению можно получить пройдя по ссылке. |
|
counterId | Идентификатор счетчика | |
date1 | Первый день. Задается в формате yyyy-mm-dd. | |
date2 | Последний день (не может быть текущим днем). Задается в формате yyyy-mm-dd. |
Алгоритм
- Направление POST-запроса создания логов.
- Проверка статуса запроса логов.
- Загрузка части подготовленных логов.
Сценарий

Ввод данных запроса
Ввод данных осуществляется в настройках порта Входные переменные узла «1. Создание запроса логов». Порт «Просмотры/Визиты» соединяется с узлом «Просмотры» или «Визиты» в зависимости от того, какие данные требуется получить.
1. Создание запроса логов

Генерация URL запроса на создание логов
В узле с помощью конкатенации входных переменных осуществляется формирование url-запроса на подготовку лога. С синтаксисом запроса и описанием его параметров можно ознакомиться, пройдя по ссылке.
Выходной порт узла соединяется с портом управляющих переменных узла «Создание запроса логов».
Создание запроса логов
В мастере настройки на шаге Параметры подключения в поле URL сервиса необходимо использовать переменную «log_reguest_generate_url».

На этапе «Авторизация для выполнения запроса» необходимо указать следующие параметры:
- В поле Тип авторизации выбрать параметр «Токен OAuth».
- В поле Токен OAuth необходимо использовать переменную «OAuth», хранящую авторизационный токен.

Узел «Создание запроса логов» соединяется с портом «Подключение к REST-сервису» узла «Отправка POST-запроса» (настраивать данный узел не требуется).
Выделение ID запроса
В данном узле осуществляется разбор ответа сервера. На основе регулярного выражения выделяется ID-запроса.
2. Статус запроса логов

Генерация URL о статусе подготовки запроса логов
В узле с помощью конкатенации входных переменных осуществляется формирование url-запроса на проверку статуса готовности лога. Синтаксис запроса доступен по соответствующей ссылке.
Информация о запросе логов
В мастере настройки на шаге «Параметры подключения» в поле URL сервиса необходимо использовать переменную «log_reguest_status».

На этапе «Авторизация для выполнения запроса» необходимо указать следующие параметры:
- В поле Тип авторизации выбрать параметр «Токен OAuth».
- В поле Токен OAuth необходимо использовать переменную «OAuth», хранящую авторизационный токен.

Узел «Информация о запросе логов» соединяется с портом «Подключение к REST-сервису» узла «Отправка GET-запроса» (настраивать данный узел не требуется).
Извлечение номера части лога
В данном узле осуществляется разбор ответа сервера. На основе регулярных выражений осуществляется получение статуса готовности лога и номера части.
Важно: время формирования данных Logs API не регламентировано и полностью зависит от объема запрошенных данных и текущей нагрузки на сервис. Данные могут формироваться длительное время (например, несколько часов).
В связи с этим может потребоваться несколько раз запросить статус готовности лога, пока не будет получен статус «processed».
Генерация запроса на загрузку лога
В узле с помощью конкатенации входных переменных осуществляется формирование url-запроса на выгрузку части подготовленного лога. С синтаксисом запроса и описанием его параметров можно ознакомиться, пройдя по ссылке.
3. Загрузка логов

Генерация имени файла, в котором будет сохранен лог
Узел осуществляет формирование имени файла, в который будет экспортироваться лог Яндекс.Метрики.
Выходной порт узла соединяется с портом управляющих переменных узла «Экспорт лога» и служебным узлом Переменные в таблицу.
Загрузка подготовленного лога
В мастере настройки на шаге Параметры подключения в поле URL сервиса необходимо использовать переменную «log_download_url».

На этапе «Авторизация для выполнения запроса» необходимо указать следующие параметры:
- В поле Тип авторизации выбрать параметр «Токен OAuth».
- В поле Токен OAuth необходимо использовать переменную «OAuth», хранящую авторизационный токен.

Узел «Яндекс.Метрика» соединяется с портом «Подключение к REST-сервису» узла «Отправка GET-запроса» (настраивать данный узел не требуется).
Экспорт лога
Узел экспорта выгруженных данных в текстовый файл.
На этапе «Экспорт в текстовый файл» необходимо в поле Имя файла указать переменную «log_file».