Commit 59a93b93b747e67c091e7c0b157cfaa58769f54d

Authored by Alex Savenko
1 parent 6981a7c2

ga

Showing 1 changed file with 73 additions and 73 deletions   Show diff stats
backend/views/report/index.php
... ... @@ -32,76 +32,76 @@ $client->addScope(Google_Service_Analytics::ANALYTICS_READONLY);
32 32  
33 33 // Если пользователь уже авторизовал это приложение, предоставьте токен доступа.
34 34 // В противном случае перенаправьте пользователя на страницу авторизации доступа в Google Analytics.
35   -//if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
36   -// // Установка токена доступа на клиентском компьютере.
37   -// $client->setAccessToken($_SESSION['access_token']);
38   -//
39   -// // Создание авторизованного объекта службы аналитики.
40   -// $analytics = new Google_Service_AnalyticsReporting($client);
41   -//
42   -// // Вызов the Analytics Reporting API V4.
43   -// $response = getReport($analytics);
44   -//
45   -// // Вывод ответа.
46   -// printResults($response);
47   -//
48   -//} else {
49   -// $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/oauth2callback.php';
50   -// header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
51   -//}
52   -
53   -
54   -//function getReport($analytics) {
55   -//
56   -// // Замена на свой идентификатор представления, напр. XXXX.
57   -// $VIEW_ID = "<REPLACE_WITH_VIEW_ID>";
58   -//
59   -// // Создание объекта DateRange.
60   -// $dateRange = new Google_Service_AnalyticsReporting_DateRange();
61   -// $dateRange->setStartDate("7daysAgo");
62   -// $dateRange->setEndDate("today");
63   -//
64   -// // Создание объекта Metrics.
65   -// $sessions = new Google_Service_AnalyticsReporting_Metric();
66   -// $sessions->setExpression("ga:sessions");
67   -// $sessions->setAlias("sessions");
68   -//
69   -// // Создание объекта ReportRequest.
70   -// $request = new Google_Service_AnalyticsReporting_ReportRequest();
71   -// $request->setViewId($VIEW_ID);
72   -// $request->setDateRanges($dateRange);
73   -// $request->setMetrics(array($sessions));
74   -//
75   -// $body = new Google_Service_AnalyticsReporting_GetReportsRequest();
76   -// $body->setReportRequests( array( $request) );
77   -// return $analytics->reports->batchGet( $body );
78   -//}
79   -
80   -//function printResults($reports) {
81   -// for ( $reportIndex = 0; $reportIndex < count( $reports ); $reportIndex++ ) {
82   -// $report = $reports[ $reportIndex ];
83   -// $header = $report->getColumnHeader();
84   -// $dimensionHeaders = $header->getDimensions();
85   -// $metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries();
86   -// $rows = $report->getData()->getRows();
87   -//
88   -// for ( $rowIndex = 0; $rowIndex < count($rows); $rowIndex++) {
89   -// $row = $rows[ $rowIndex ];
90   -// $dimensions = $row->getDimensions();
91   -// $metrics = $row->getMetrics();
92   -// for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) {
93   -// print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n");
94   -// }
95   -//
96   -// for ($j = 0; $j < count( $metricHeaders ) && $j < count( $metrics ); $j++) {
97   -// $entry = $metricHeaders[$j];
98   -// $values = $metrics[$j];
99   -// print("Metric type: " . $entry->getType() . "\n" );
100   -// for ( $valueIndex = 0; $valueIndex < count( $values->getValues() ); $valueIndex++ ) {
101   -// $value = $values->getValues()[ $valueIndex ];
102   -// print($entry->getName() . ": " . $value . "\n");
103   -// }
104   -// }
105   -// }
106   -// }
107   -//}
  35 +if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
  36 + // Установка токена доступа на клиентском компьютере.
  37 + $client->setAccessToken($_SESSION['access_token']);
  38 +
  39 + // Создание авторизованного объекта службы аналитики.
  40 + $analytics = new Google_Service_AnalyticsReporting($client);
  41 +
  42 + // Вызов the Analytics Reporting API V4.
  43 + $response = getReport($analytics);
  44 +
  45 + // Вывод ответа.
  46 + printResults($response);
  47 +
  48 +} else {
  49 + $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/oauth2callback.php';
  50 + header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
  51 +}
  52 +
  53 +
  54 +function getReport($analytics) {
  55 +
  56 + // Замена на свой идентификатор представления, напр. XXXX.
  57 + $VIEW_ID = "119240817";
  58 +
  59 + // Создание объекта DateRange.
  60 + $dateRange = new Google_Service_AnalyticsReporting_DateRange();
  61 + $dateRange->setStartDate("7daysAgo");
  62 + $dateRange->setEndDate("today");
  63 +
  64 + // Создание объекта Metrics.
  65 + $sessions = new Google_Service_AnalyticsReporting_Metric();
  66 + $sessions->setExpression("ga:sessions");
  67 + $sessions->setAlias("sessions");
  68 +
  69 + // Создание объекта ReportRequest.
  70 + $request = new Google_Service_AnalyticsReporting_ReportRequest();
  71 + $request->setViewId($VIEW_ID);
  72 + $request->setDateRanges($dateRange);
  73 + $request->setMetrics(array($sessions));
  74 +
  75 + $body = new Google_Service_AnalyticsReporting_GetReportsRequest();
  76 + $body->setReportRequests( array( $request) );
  77 + return $analytics->reports->batchGet( $body );
  78 +}
  79 +
  80 +function printResults($reports) {
  81 + for ( $reportIndex = 0; $reportIndex < count( $reports ); $reportIndex++ ) {
  82 + $report = $reports[ $reportIndex ];
  83 + $header = $report->getColumnHeader();
  84 + $dimensionHeaders = $header->getDimensions();
  85 + $metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries();
  86 + $rows = $report->getData()->getRows();
  87 +
  88 + for ( $rowIndex = 0; $rowIndex < count($rows); $rowIndex++) {
  89 + $row = $rows[ $rowIndex ];
  90 + $dimensions = $row->getDimensions();
  91 + $metrics = $row->getMetrics();
  92 + for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) {
  93 + print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n");
  94 + }
  95 +
  96 + for ($j = 0; $j < count( $metricHeaders ) && $j < count( $metrics ); $j++) {
  97 + $entry = $metricHeaders[$j];
  98 + $values = $metrics[$j];
  99 + print("Metric type: " . $entry->getType() . "\n" );
  100 + for ( $valueIndex = 0; $valueIndex < count( $values->getValues() ); $valueIndex++ ) {
  101 + $value = $values->getValues()[ $valueIndex ];
  102 + print($entry->getName() . ": " . $value . "\n");
  103 + }
  104 + }
  105 + }
  106 + }
  107 +}
... ...