You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
3.6 KiB
PHP
119 lines
3.6 KiB
PHP
<?php
|
|
if (!defined('BASEPATH'))
|
|
exit('No direct script access allowed');
|
|
|
|
class Gaapi extends CI_Controller
|
|
{
|
|
|
|
function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->permission->is_admin();
|
|
$this->site_code = $this->config->item('site_code');
|
|
//ga verder
|
|
$this->load->library('MY_Composer');
|
|
}
|
|
|
|
public function user_track()
|
|
{
|
|
$analytics = $this->initializeAnalytics();
|
|
$response = $this->getReport($analytics);
|
|
$this->printResults($response);
|
|
|
|
echo " ### done ### ";
|
|
}
|
|
|
|
|
|
/**
|
|
* Initializes an Analytics Reporting API V4 service object.
|
|
*
|
|
* @return An authorized Analytics Reporting API V4 service object.
|
|
*/
|
|
function initializeAnalytics()
|
|
{
|
|
|
|
// Use the developers console and download your service account
|
|
// credentials in JSON format. Place them in this directory or
|
|
// change the key file location if necessary.
|
|
$KEY_FILE_LOCATION = __DIR__ . '/gaapi_json/sylvan-box-234910-357cb59e6bf0.json';
|
|
|
|
// Create and configure a new client object.
|
|
$client = new Google_Client();
|
|
$client->setApplicationName("Hello Analytics Reporting");
|
|
$client->setAuthConfig($KEY_FILE_LOCATION);
|
|
$client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']);
|
|
$analytics = new Google_Service_AnalyticsReporting($client);
|
|
|
|
return $analytics;
|
|
}
|
|
|
|
|
|
/**
|
|
* Queries the Analytics Reporting API V4.
|
|
*
|
|
* @param service An authorized Analytics Reporting API V4 service object.
|
|
* @return The Analytics Reporting API V4 response.
|
|
*/
|
|
function getReport($analytics)
|
|
{
|
|
|
|
// Replace with your view ID, for example XXXX.
|
|
$VIEW_ID = "68484932";
|
|
|
|
// Create the DateRange object.
|
|
$dateRange = new Google_Service_AnalyticsReporting_DateRange();
|
|
$dateRange->setStartDate("7daysAgo");
|
|
$dateRange->setEndDate("today");
|
|
|
|
// Create the Metrics object.
|
|
$sessions = new Google_Service_AnalyticsReporting_Metric();
|
|
$sessions->setExpression("ga:sessions");
|
|
$sessions->setAlias("sessions");
|
|
|
|
// Create the ReportRequest object.
|
|
$request = new Google_Service_AnalyticsReporting_ReportRequest();
|
|
$request->setViewId($VIEW_ID);
|
|
$request->setDateRanges($dateRange);
|
|
$request->setMetrics(array($sessions));
|
|
|
|
$body = new Google_Service_AnalyticsReporting_GetReportsRequest();
|
|
$body->setReportRequests(array($request));
|
|
return $analytics->reports->batchGet($body);
|
|
}
|
|
|
|
|
|
/**
|
|
* Parses and prints the Analytics Reporting API V4 response.
|
|
*
|
|
* @param An Analytics Reporting API V4 response.
|
|
*/
|
|
function printResults($reports)
|
|
{
|
|
for ($reportIndex = 0; $reportIndex < count($reports); $reportIndex++) {
|
|
$report = $reports[$reportIndex];
|
|
$header = $report->getColumnHeader();
|
|
$dimensionHeaders = $header->getDimensions();
|
|
$metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries();
|
|
$rows = $report->getData()->getRows();
|
|
|
|
for ($rowIndex = 0; $rowIndex < count($rows); $rowIndex++) {
|
|
$row = $rows[$rowIndex];
|
|
$dimensions = $row->getDimensions();
|
|
$metrics = $row->getMetrics();
|
|
for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) {
|
|
print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n");
|
|
}
|
|
|
|
for ($j = 0; $j < count($metrics); $j++) {
|
|
$values = $metrics[$j]->getValues();
|
|
for ($k = 0; $k < count($values); $k++) {
|
|
$entry = $metricHeaders[$k];
|
|
print($entry->getName() . ": " . $values[$k] . "\n");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//end of gaapi
|