From f51dd710b9bfd753db0fc65744dd54bd1a63b474 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 10 Feb 2017 17:49:55 +0200 Subject: [PATCH] dimensions +dynamics +multiple --- app/library/App/Controllers/GaController.php | 12 ++++++++++++ app/library/App/Resources/GaResource.php | 5 ++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/library/App/Controllers/GaController.php b/app/library/App/Controllers/GaController.php index 6979211..492a524 100644 --- a/app/library/App/Controllers/GaController.php +++ b/app/library/App/Controllers/GaController.php @@ -12,6 +12,7 @@ namespace App\Controllers; use Google_Client; use Google_Service_AnalyticsReporting; use Google_Service_AnalyticsReporting_DateRange; +use Google_Service_AnalyticsReporting_Dimension; use Google_Service_AnalyticsReporting_GetReportsRequest; use Google_Service_AnalyticsReporting_Metric; use Google_Service_AnalyticsReporting_ReportRequest; @@ -27,6 +28,7 @@ class GaController extends CrudResourceController { $get_metrics = $this->request->get('metric') ?? 'users'; $get_start_date = $this->request->get('start') ?? '30daysAgo'; $get_end_date = $this->request->get('end') ?? 'today'; + $get_dimension = $this->request->get('dimension') ?? 'browser'; putenv('GOOGLE_APPLICATION_CREDENTIALS=/var/www/phalcon/'.self::SECRET_JSON); @@ -50,12 +52,22 @@ class GaController extends CrudResourceController { $metrics[] = $metrics_obj; } + //Create the Dimensions object. + $dimension = []; + $get_dimension = explode(',', $get_dimension); + foreach ($get_dimension as $dimension) { + $dimension_obj = new Google_Service_AnalyticsReporting_Dimension(); + $dimension_obj->setName("ga:".$get_dimension); + $dimension[] = $dimension_obj; + } + // Создание объекта ReportRequest. $request = new Google_Service_AnalyticsReporting_ReportRequest(); $request->setViewId(self::VIEW_ID); $request->setDateRanges($dateRange); $request->setMetrics(array($metrics)); + $request->setDimensions(array($dimension)); $body = new Google_Service_AnalyticsReporting_GetReportsRequest(); $body->setReportRequests( array( $request) ); diff --git a/app/library/App/Resources/GaResource.php b/app/library/App/Resources/GaResource.php index 2295e05..1be1196 100644 --- a/app/library/App/Resources/GaResource.php +++ b/app/library/App/Resources/GaResource.php @@ -20,7 +20,6 @@ class GaResource extends ApiResource { $this ->name('Google Analytics') - //->model(Project::class) ->expectsJsonData() //->transformer(ModelTransformer::class) ->itemKey('ga') @@ -28,12 +27,12 @@ class GaResource extends ApiResource { ->deny(AclRoles::UNAUTHORIZED) ->handler(GaController::class) - ->endpoint(ApiEndpoint::get('/', 'getAction') + ->endpoint(ApiEndpoint::get('', 'getAction') ->allow(AclRoles::USER) ->description('Returns data from Google Analytics Api') ->exampleResponse([ 'lifehack' => 'for example request data', - 'start' => '30daysAgo', + 'start' => '30daysAgo / 2015-03-01', 'end' => 'today', 'metric' => 'user,sessions' ]) -- libgit2 0.21.4