15479603
Alex Savenko
initialize
|
1
2
3
4
5
6
7
8
9
|
<?php
namespace App\Bootstrap;
use App\BootstrapInterface;
use App\Constants\Services;
use Phalcon\Config;
use Phalcon\DiInterface;
use PhalconRest\Api;
|
b38ef228
Alex Savenko
generate GaResource
|
10
|
|
2e1db97a
Alex Savenko
test google lib
|
11
12
|
use Google_Client;
use Google_Service_AnalyticsReporting;
|
5407f0bb
Alex Savenko
test google lib
|
13
14
15
16
17
18
19
|
use Google_Service_AnalyticsReporting_DateRange;
use Google_Service_AnalyticsReporting_Metric;
use Google_Service_AnalyticsReporting_ReportRequest;
use Google_Service_AnalyticsReporting_GetReportsRequest;
|
15479603
Alex Savenko
initialize
|
20
21
22
|
class RouteBootstrap implements BootstrapInterface
{
|
34feae2d
Alex Savenko
test google lib
|
23
|
|
15479603
Alex Savenko
initialize
|
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
public function run(Api $api, DiInterface $di, Config $config)
{
$api->get('/', function() use ($api) {
/** @var \Phalcon\Mvc\View\Simple $view */
$view = $api->di->get(Services::VIEW);
return $view->render('general/index');
});
$api->get('/proxy.html', function() use ($api, $config) {
/** @var \Phalcon\Mvc\View\Simple $view */
$view = $api->di->get(Services::VIEW);
$view->setVar('client', $config->clientHostName);
return $view->render('general/proxy');
});
$api->get('/documentation.html', function() use ($api, $config) {
/** @var \Phalcon\Mvc\View\Simple $view */
$view = $api->di->get(Services::VIEW);
$view->setVar('title', $config->application->title);
$view->setVar('description', $config->application->description);
$view->setVar('documentationPath', $config->hostName . '/export/documentation.json');
return $view->render('general/documentation');
});
|
1f3b737a
Alex Savenko
test new routing
|
53
54
55
56
57
58
|
$api->get('/test.html', function() use ($api) {
/** @var \Phalcon\Mvc\View\Simple $view */
$view = $api->di->get(Services::VIEW);
|
b33dc1c6
Alex Savenko
test google lib
|
59
|
putenv('GOOGLE_APPLICATION_CREDENTIALS=/var/www/phalcon/ca4a1bd8aa14.json');
|
2e1db97a
Alex Savenko
test google lib
|
60
|
$client = new Google_Client();
|
b33dc1c6
Alex Savenko
test google lib
|
61
|
$client->useApplicationDefaultCredentials();
|
af7c614c
Alex Savenko
test google lib
|
62
|
$client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']);
|
2e1db97a
Alex Savenko
test google lib
|
63
|
$analytics = new Google_Service_AnalyticsReporting($client);
|
c0ced521
Alex Savenko
test google lib
|
64
|
|
5407f0bb
Alex Savenko
test google lib
|
65
66
|
$param[] = ['metric' => 'ga:sessions', 'alias' => 'Сессии'];
$param[] = ['metric' => 'ga:users', 'alias' => 'Пользователи'];
|
b38ef228
Alex Savenko
generate GaResource
|
67
68
|
//$param[] = ['metric' => 'ga:CTR', 'alias' => 'CTR'];
//$param[] = ['metric' => 'ga:goal1Value', 'alias' => 'цель "Корзина"'];
|
5407f0bb
Alex Savenko
test google lib
|
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
$VIEW_ID = "119240817";
foreach ($param as $item) {
// Создание объекта DateRange.
$dateRange = new Google_Service_AnalyticsReporting_DateRange();
$dateRange->setStartDate("30daysAgo");
$dateRange->setEndDate("today");
// Создание объекта Metrics.
$sessions = new Google_Service_AnalyticsReporting_Metric();
$sessions->setExpression($item['metric']);
$sessions->setAlias($item['alias']);
|
34feae2d
Alex Savenko
test google lib
|
83
|
|
843214bf
Alex Savenko
test google lib
|
84
|
|
5407f0bb
Alex Savenko
test google lib
|
85
86
87
88
89
|
// Создание объекта ReportRequest.
$request = new Google_Service_AnalyticsReporting_ReportRequest();
$request->setViewId($VIEW_ID);
$request->setDateRanges($dateRange);
$request->setMetrics(array($sessions));
|
39ed17fc
Alex Savenko
test google lib
|
90
|
|
5407f0bb
Alex Savenko
test google lib
|
91
92
93
94
95
96
97
98
|
$body = new Google_Service_AnalyticsReporting_GetReportsRequest();
$body->setReportRequests( array( $request) );
$response = $analytics->reports->batchGet( $body );
}
$var_2 = var_dump($response);
|
c0ced521
Alex Savenko
test google lib
|
99
|
|
f5c8ea14
Alex Savenko
test new routing ...
|
100
101
102
|
$msg = "testing fine";
return $view->render('general/test', [
|
c0ced521
Alex Savenko
test google lib
|
103
104
|
'var1' => $msg,
'var2' => $var_2
|
f5c8ea14
Alex Savenko
test new routing ...
|
105
|
]);
|
1f3b737a
Alex Savenko
test new routing
|
106
|
});
|
15479603
Alex Savenko
initialize
|
107
|
}
|
39ed17fc
Alex Savenko
test google lib
|
108
|
|
39ed17fc
Alex Savenko
test google lib
|
109
|
|
15479603
Alex Savenko
initialize
|
110
|
}
|