volga/metrika-logs

Yandex.Metrika 日志 API

此软件包的官方存储库似乎已不存在,因此该软件包已被冻结。

v1.1 2019-04-12 20:18 UTC

This package is auto-updated.

Last update: 2023-05-13 06:36:49 UTC


README

Total Downloads Latest Stable Version License

Logs API 允许获取 Yandex.Metrika 收集的非聚合数据。该 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 许可证下分发。