volga / metrika-logs
Logs API Яндекс.Метрики
This package's canonical repository appears to be gone and the package has been frozen as a result.
Installs: 2 329
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 2
Open Issues: 0
Requires
- php: >=7.2
- guzzlehttp/guzzle: ^6.3
- jms/serializer: ^1.8
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.