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 | 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 | 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 | 46 | printResults($response); |
| 47 | 47 | |
| 48 | 48 | } else { |
| 49 | - $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/oauth2callback.php'; | |
| 49 | + $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/admin/report/callback'; | |
| 50 | 50 | header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL)); |
| 51 | 51 | } |
| 52 | 52 | ... | ... |