diff --git a/app/library/App/Controllers/GaController.php b/app/library/App/Controllers/GaController.php index b8260cf..257db65 100644 --- a/app/library/App/Controllers/GaController.php +++ b/app/library/App/Controllers/GaController.php @@ -17,6 +17,7 @@ use Google_Service_AnalyticsReporting_Metric; use Google_Service_AnalyticsReporting_ReportRequest; use PhalconRest\Mvc\Controllers\CrudResourceController; use Google_Service_AnalyticsReporting_Report; +use phpDocumentor\Reflection\Types\Array_; class GaController extends CrudResourceController { @@ -25,7 +26,8 @@ class GaController extends CrudResourceController { public function getAction() { - $getMetric = $this->request->get('metric'); + $get_metrics = $this->request->get('metric'); + $get_metrics = explode(',', $get_metrics); putenv('GOOGLE_APPLICATION_CREDENTIALS=/var/www/phalcon/'.self::SECRET_JSON); $client = new Google_Client(); @@ -33,35 +35,32 @@ class GaController extends CrudResourceController { $client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']); $analytics = new Google_Service_AnalyticsReporting($client); - $param[] = ['metric' => 'ga:'.$getMetric, 'alias' => $getMetric]; - - $response = []; - - foreach ($param as $item) { - - // Создание объекта DateRange. - $dateRange = new Google_Service_AnalyticsReporting_DateRange(); - $dateRange->setStartDate("30daysAgo"); - $dateRange->setEndDate("today"); + // Создание объекта DateRange. + $dateRange = new Google_Service_AnalyticsReporting_DateRange(); + $dateRange->setStartDate("30daysAgo"); + $dateRange->setEndDate("today"); + + // Создание объекта Metrics. + $metrics = []; + foreach ($get_metrics as $metric) { + $metrics_obj = new Google_Service_AnalyticsReporting_Metric(); + $metrics_obj->setExpression('ga:'.$metric); + $metrics_obj->setAlias($metric); + $metrics[] = $metrics_obj; + } - // Создание объекта Metrics. - $metrics = new Google_Service_AnalyticsReporting_Metric(); - $metrics->setExpression($item['metric'].',ga:sessionsPerUser'); - //$metrics->setExpression('ga:pageviewsPerSession'); - ///$sessions->setAlias($item['alias']); + // Создание объекта ReportRequest. + $request = new Google_Service_AnalyticsReporting_ReportRequest(); + $request->setViewId(self::VIEW_ID); + $request->setDateRanges($dateRange); + $request->setMetrics(array($metrics)); - // Создание объекта ReportRequest. - $request = new Google_Service_AnalyticsReporting_ReportRequest(); - $request->setViewId(self::VIEW_ID); - $request->setDateRanges($dateRange); - $request->setMetrics(array($metrics)); + $body = new Google_Service_AnalyticsReporting_GetReportsRequest(); + $body->setReportRequests( array( $request) ); - $body = new Google_Service_AnalyticsReporting_GetReportsRequest(); - $body->setReportRequests( array( $request) ); + $response = $analytics->reports->batchGet( $body ); - $response = $analytics->reports->batchGet( $body ); - } return $response->toSimpleObject(); -- libgit2 0.21.4