コード例 #1
0
 public function init()
 {
     parent::init();
     $client = Google\Api::getServiceClient();
     if (!$client) {
         die("Google Analytics is not configured");
     }
     $this->service = new Google_Service_Analytics($client);
 }
コード例 #2
0
ファイル: Analytics.php プロジェクト: sfie/pimcore
 /**
  * @param null $fields
  * @param null $drillDownFilters
  * @param bool $useDimensionHandling
  * @return mixed
  * @throws \Exception
  */
 protected function getDataHelper($fields = null, $drillDownFilters = null, $useDimensionHandling = true)
 {
     $configuration = clone $this->config;
     if (is_array($fields) && sizeof($fields)) {
         $configuration = $this->handleFields($configuration, $fields);
     }
     if ($this->fullConfig && $useDimensionHandling) {
         $configuration = $this->handleDimensions($configuration);
     }
     $client = \Pimcore\Google\Api::getServiceClient();
     if (!$client) {
         throw new \Exception("Google Analytics is not configured");
     }
     $service = new \Google_Service_Analytics($client);
     if (!$configuration->profileId) {
         throw new \Exception("no profileId given");
     }
     if (!$configuration->metric) {
         throw new \Exception("no metric given");
     }
     $options = array();
     if ($configuration->filters) {
         $options['filters'] = $configuration->filters;
     }
     if ($configuration->dimension) {
         $options['dimensions'] = $configuration->dimension;
     }
     if ($configuration->sort) {
         $options['sort'] = $configuration->sort;
     }
     if ($configuration->startIndex) {
         $options['start-index'] = $configuration->startIndex;
     }
     if ($configuration->maxResults) {
         $options['max-results'] = $configuration->maxResults;
     }
     if ($configuration->segment) {
         $options['segment'] = $configuration->segment;
     }
     $configuration->startDate = $this->calcDate($configuration->startDate, $configuration->relativeStartDate);
     $configuration->endDate = $this->calcDate($configuration->endDate, $configuration->relativeEndDate);
     if (!$configuration->startDate) {
         throw new \Exception("no start date given");
     }
     if (!$configuration->endDate) {
         throw new \Exception("no end date given");
     }
     return $service->data_ga->get('ga:' . $configuration->profileId, date('Y-m-d', $configuration->startDate), date('Y-m-d', $configuration->endDate), $configuration->metric, $options);
 }