Advertisement
ivansky

Yandex\Metrica Request Stats

Mar 27th, 2015
691
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.79 KB | None | 0 0
  1. <?php
  2.  
  3. use Yandex\Metrica\Stat\StatClient;
  4.  
  5. $accessToken = 'SOME_ACCESS_TOKEN';
  6.  
  7. $statClient = new StatClient($accessToken);
  8.  
  9. $dataClient = $statClient->data();
  10.  
  11. $metricaStatsParamsModel = new Yandex\Metrica\Stat\Models\TableParams();
  12.  
  13. $metricaStatsParamsModel->setPreset(\Yandex\Metrica\Stat\AvailableValues::PRESET_SOURCES_SEARCH_PHRASES);
  14.  
  15. $metricaStatsParamsModel->setDate1(date('Y-m-d', strtotime('-1 month')));
  16. $metricaStatsParamsModel->setDate2(date('Y-m-d'));
  17.  
  18. use Yandex\Metrica\Management\ManagementClient;
  19. $managementClient = new ManagementClient($accessToken);
  20.  
  21. $params = new Yandex\Metrica\Management\Models\CountersParams();
  22. $params->setField('goals,mirrors,grants,filters,operations');
  23.  
  24. /* @var Yandex\Metrica\Management\Models\GetCountersResponse $countersResponse */
  25. $countersResponse = $managementClient->counters()->getCounters($params);
  26.  
  27. $counters = $countersResponse->getCounters();
  28.  
  29. $dataByDomain = [];
  30.  
  31. while($counter = $counters->next()){ /* @var Yandex\Metrica\Management\Models\CounterItem $counter */
  32.  
  33.     if($counter->getCodeStatus() !== 'CS_OK') continue;
  34.  
  35.     $counterId = $counter->getId();
  36.  
  37.     $counterDomain = $counter->getSite();
  38.  
  39.     $metricaStatsParamsModel->setId($counterId);
  40.  
  41.     $dataTable = $statClient->data()->getTable($metricaStatsParamsModel); /* @var Yandex\Metrica\Stat\Models\Table $dataTable */
  42.  
  43.     $data = $dataTable->getData(); /* @var Yandex\Metrica\Stat\Models\Data $data */
  44.  
  45.     foreach($data as $row){ /* @var Yandex\Metrica\Stat\Models\Items $row */
  46.  
  47.         $rowDimensions = $row->getDimensions()->getAll(); /* @var Yandex\Metrica\Stat\Models\Dimension[] $rowDimensions */
  48.  
  49.         $keyword = $rowDimensions[0]->getName();
  50.  
  51.         $metrics = $row->getMetrics();
  52.  
  53.         $dataByDomain[] = [
  54.             'keyword' => $keyword,
  55.             'metrics' => $metrics
  56.         ];
  57.  
  58.     }
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement