Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- use Yandex\Metrica\Stat\StatClient;
- $accessToken = 'SOME_ACCESS_TOKEN';
- $statClient = new StatClient($accessToken);
- $dataClient = $statClient->data();
- $metricaStatsParamsModel = new Yandex\Metrica\Stat\Models\TableParams();
- $metricaStatsParamsModel->setPreset(\Yandex\Metrica\Stat\AvailableValues::PRESET_SOURCES_SEARCH_PHRASES);
- $metricaStatsParamsModel->setDate1(date('Y-m-d', strtotime('-1 month')));
- $metricaStatsParamsModel->setDate2(date('Y-m-d'));
- use Yandex\Metrica\Management\ManagementClient;
- $managementClient = new ManagementClient($accessToken);
- $params = new Yandex\Metrica\Management\Models\CountersParams();
- $params->setField('goals,mirrors,grants,filters,operations');
- /* @var Yandex\Metrica\Management\Models\GetCountersResponse $countersResponse */
- $countersResponse = $managementClient->counters()->getCounters($params);
- $counters = $countersResponse->getCounters();
- $dataByDomain = [];
- while($counter = $counters->next()){ /* @var Yandex\Metrica\Management\Models\CounterItem $counter */
- if($counter->getCodeStatus() !== 'CS_OK') continue;
- $counterId = $counter->getId();
- $counterDomain = $counter->getSite();
- $metricaStatsParamsModel->setId($counterId);
- $dataTable = $statClient->data()->getTable($metricaStatsParamsModel); /* @var Yandex\Metrica\Stat\Models\Table $dataTable */
- $data = $dataTable->getData(); /* @var Yandex\Metrica\Stat\Models\Data $data */
- foreach($data as $row){ /* @var Yandex\Metrica\Stat\Models\Items $row */
- $rowDimensions = $row->getDimensions()->getAll(); /* @var Yandex\Metrica\Stat\Models\Dimension[] $rowDimensions */
- $keyword = $rowDimensions[0]->getName();
- $metrics = $row->getMetrics();
- $dataByDomain[] = [
- 'keyword' => $keyword,
- 'metrics' => $metrics
- ];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement