Commit a2842f96402dbe1ae343140f65732d58ae55008b
1 parent
59a93b93
ga
Showing
2 changed files
with
21 additions
and
1 deletions
Show diff stats
backend/controllers/ReportController.php
@@ -18,4 +18,24 @@ class ReportController extends Controller | @@ -18,4 +18,24 @@ class ReportController extends Controller | ||
18 | return $this->render('index', [ | 18 | return $this->render('index', [ |
19 | ]); | 19 | ]); |
20 | } | 20 | } |
21 | + | ||
22 | + public function actionCallback() { | ||
23 | + // Создание объекта клиента и установка конфигурации авторизации | ||
24 | + // из файла client_secrets.json, скачанного из Developers Console. | ||
25 | + $client = new Google_Client(); | ||
26 | + $client->setAuthConfig(__DIR__ . '/client_secrets.json'); | ||
27 | + $client->setRedirectUri('http://' . $_SERVER['HTTP_HOST'] . '/admin/report/callback'); | ||
28 | + $client->addScope(Google_Service_Analytics::ANALYTICS_READONLY); | ||
29 | + | ||
30 | + // Выполнение процесса авторизации с сервера. | ||
31 | + if (! isset($_GET['code'])) { | ||
32 | + $auth_url = $client->createAuthUrl(); | ||
33 | + header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL)); | ||
34 | + } else { | ||
35 | + $client->authenticate($_GET['code']); | ||
36 | + $_SESSION['access_token'] = $client->getAccessToken(); | ||
37 | + $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/'; | ||
38 | + header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL)); | ||
39 | + } | ||
40 | + } | ||
21 | } | 41 | } |
22 | \ No newline at end of file | 42 | \ No newline at end of file |
backend/views/report/index.php
@@ -46,7 +46,7 @@ if (isset($_SESSION['access_token']) && $_SESSION['access_token']) { | @@ -46,7 +46,7 @@ if (isset($_SESSION['access_token']) && $_SESSION['access_token']) { | ||
46 | printResults($response); | 46 | printResults($response); |
47 | 47 | ||
48 | } else { | 48 | } else { |
49 | - $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/oauth2callback.php'; | 49 | + $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/admin/report/callback'; |
50 | header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL)); | 50 | header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL)); |
51 | } | 51 | } |
52 | 52 |