volga / metrika-logs
Logs API Яндекс.Метрики
This package's canonical repository appears to be gone and the package has been frozen as a result. Email us for help if needed.
Requires
- php: >=7.2
- guzzlehttp/guzzle: ^6.3
- jms/serializer: ^1.8
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Logs API позволяет получать неагрегированные данные, собираемые Яндекс.Метрикой. Данный API предназначен для пользователей сервиса, которые хотят самостоятельно обрабатывать статистические данные и использовать их для решения уникальных аналитических задач.
Для использования данного API необходима авторизация с помощью авторизационного токена .
Установка
Минимальные требования — PHP 7.2+.
composer require volga/metrika-logs
Laravel
$client = new \Volga\MetrikaLogs\MetrikaClient('token');
Laravel <5.5
Добавьте в config/app.php:
'providers' => [ ... \Volga\MetrikaLogs\MetrikaLogsServiceProvider::class, ... ]
Иные фреймворки/без фреймворка
require_once '../vendor/autoload.php'; \Doctrine\Common\Annotations\AnnotationRegistry::registerLoader('class_exists'); $client = new \Volga\MetrikaLogs\MetrikaClient('token');
Использование
Оценка возможности создания запроса
Оценивает возможность создания запроса логов по его примерному размеру.
use Volga\MetrikaLogs\MetrikaClient; use Volga\MetrikaLogs\Requests\CapabilityRequest; $client = new MetrikaClient('token'); $request = (new CapabilityRequest(counterId)) ->setDate1(new \DateTime('2019-01-01')) ->setDate2(new \DateTime('yesterday')) ->setFields( [ 'ym:pv:watchID', 'ym:pv:counterID', 'ym:pv:date', 'ym:pv:dateTime', 'ym:pv:title', 'ym:pv:URL', 'ym:pv:referer', ] ) ->setSource('hits'); $response = $client->sendCapabilityRequest($request);
Создание запроса логов
Создает запрос логов.
use Volga\MetrikaLogs\MetrikaClient; use Volga\MetrikaLogs\Requests\CreateRequest; $client = new MetrikaClient('token'); $request = (new CreateRequest(counterId)) ->setDate1(new \DateTime('2019-01-01')) ->setDate2(new \DateTime('yesterday')) ->setFields( [ 'ym:pv:watchID', 'ym:pv:counterID', 'ym:pv:date', 'ym:pv:dateTime', 'ym:pv:title', 'ym:pv:URL', 'ym:pv:referer', ] ) ->setSource('hits'); $response = $client->sendCreateRequest($request);
Отмена не обработанного запроса логов
Отменяет еще не обработанный запрос логов.
use Volga\MetrikaLogs\MetrikaClient; use Volga\MetrikaLogs\Requests\CancelRequest; $client = new MetrikaClient('token'); $request = new CancelRequest(counterId, requestId); $response = $client->sendCancelRequest($request);
Информация о запросе логов
Возвращает информацию о запросе логов.
use Volga\MetrikaLogs\MetrikaClient; use Volga\MetrikaLogs\Requests\InformationRequest; $client = new MetrikaClient('token'); $request = new InformationRequest(counterId, requestId); $response = $client->sendInformationRequest($request);
Загрузка части подготовленных логов обработанного запроса
Загружает часть подготовленных логов обработанного запроса.
use Volga\MetrikaLogs\MetrikaClient; use Volga\MetrikaLogs\Requests\DownloadRequest; $client = new MetrikaClient('token'); $request = new DownloadRequest(counterId, requestId, partNumber); $response = $client->sendDownloadRequest($request); if ($response instanceof \GuzzleHttp\Psr7\Stream) { while (!$response->eof()) { echo $response->read(1024); } }
Очистка подготовленных для загрузки логов обработанного запроса
Очищает подготовленные для загрузки логи обработанного запроса.
use Volga\MetrikaLogs\MetrikaClient; use Volga\MetrikaLogs\Requests\CleanRequest; $client = new MetrikaClient('token'); $request = new CleanRequest(counterId, requestId); $response = $client->sendCleanRequest($request);
Список запросов логов
Возвращает список запросов логов.
use Volga\MetrikaLogs\MetrikaClient; use Volga\MetrikaLogs\Requests\LogListRequest; $client = new MetrikaClient('token'); $request = new LogListRequest(counterId); $response = $client->sendLogListRequest($request);
Автор
Лицензия
Данный пакет распространяется под лицензией MIT.