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 |