Отправка ответа API API OAuth2 на контроллер

Я новичок в CodeIgniter и PHP. URL-адрес перенаправления, указанный в консоли API Google:

Redirect URIs: http://localhost/testsaav/index.php/main/gmail_invite 

Следующий код показывает мне страницу «Запрос на разрешение». Когда я нажимаю « Allow Access он принимает меня

 http://localhost/testsaav/index.php/main/gmail_invite?code=4/CXD462cen-oEBe1GaHIH90hjqb2X.QpVsg7mG4AUXaDn_6y0ZQNgaCVLxeAI 

Я хочу перенаправить его на другую страницу и показать ответ. Метод контроллера

 function gmail_invites($data) { $this->load->view('socialInvites2',$data); } 

Просмотреть реализацию

 <?php require_once APPPATH.'libraries/Google_Client.php'; session_start(); $client = new Google_Client(); $client->setApplicationName('Google Contacts PHP Sample'); $client->setScopes("http://www.google.com/m8/feeds/"); $client->setClientId('xxx.apps.googleusercontent.com'); $client->setClientSecret('xxx-xxx'); $client->setRedirectUri('http://localhost/testsaav/index.php/main/gmail_invite'); if (isset($_GET['code'])) { $client->authenticate(); $_SESSION['token'] = $client->getAccessToken(); $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL)); } if (isset($_SESSION['token'])) { $client->setAccessToken($_SESSION['token']); } if (isset($_REQUEST['logout'])) { unset($_SESSION['token']); $client->revokeToken(); } if ($client->getAccessToken()) { $req = new Google_HttpRequest("https://www.google.com/m8/feeds/contacts/default/full"); $val = $client->getIo()->authenticatedRequest($req); //$xml = simplexml_load_string($val->getResponseBody()); //$result = $xml->xpath('//gd:email'); /*foreach ($result as $title) { echo $title->attributes()->address . "<br>"; }*/ // The contacts api only returns XML responses. $response = json_encode(simplexml_load_string($val->getResponseBody())); //print "<pre>" . print_r(json_decode($response, true), true) . "</pre>"; // The access token may have been updated lazily. $_SESSION['token'] = $client->getAccessToken(); } else { $auth = $client->createAuthUrl(); } print "<a class='facebook-button' id='facebookbutton' href='$auth'> <span class='fb-button-left'></span> <span class='fb-button-center'>Invite GMail Friends</span> <span class='fb-button-right'></span></a>"; ?> <br/> с <?php require_once APPPATH.'libraries/Google_Client.php'; session_start(); $client = new Google_Client(); $client->setApplicationName('Google Contacts PHP Sample'); $client->setScopes("http://www.google.com/m8/feeds/"); $client->setClientId('xxx.apps.googleusercontent.com'); $client->setClientSecret('xxx-xxx'); $client->setRedirectUri('http://localhost/testsaav/index.php/main/gmail_invite'); if (isset($_GET['code'])) { $client->authenticate(); $_SESSION['token'] = $client->getAccessToken(); $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL)); } if (isset($_SESSION['token'])) { $client->setAccessToken($_SESSION['token']); } if (isset($_REQUEST['logout'])) { unset($_SESSION['token']); $client->revokeToken(); } if ($client->getAccessToken()) { $req = new Google_HttpRequest("https://www.google.com/m8/feeds/contacts/default/full"); $val = $client->getIo()->authenticatedRequest($req); //$xml = simplexml_load_string($val->getResponseBody()); //$result = $xml->xpath('//gd:email'); /*foreach ($result as $title) { echo $title->attributes()->address . "<br>"; }*/ // The contacts api only returns XML responses. $response = json_encode(simplexml_load_string($val->getResponseBody())); //print "<pre>" . print_r(json_decode($response, true), true) . "</pre>"; // The access token may have been updated lazily. $_SESSION['token'] = $client->getAccessToken(); } else { $auth = $client->createAuthUrl(); } print "<a class='facebook-button' id='facebookbutton' href='$auth'> <span class='fb-button-left'></span> <span class='fb-button-center'>Invite GMail Friends</span> <span class='fb-button-right'></span></a>"; ?> <br/> 

Solutions Collecting From Web of "Отправка ответа API API OAuth2 на контроллер"

Почему у вас есть весь этот PHP-код? Это не то, как работает MVC.

Логический код должен храниться в вашем контроллере, а не в вашем представлении. Я предлагаю вам использовать библиотеку Codeiginter OAuth2, потому что исходный код из OAuth2 lib от Google не предназначен для совместимости с Codeiginter или любой другой конкретной инфраструктурой MVC. Например, вы можете использовать этот: https://github.com/philsturgeon/codeigniter-oauth2

Вы перенаправляетесь на правильный контроллер, потому что здесь указан URL:

 $client->setRedirectUri('http://localhost/testsaav/index.php/main/gmail_invite'); 

Также взгляните на метод redirect('somecontroller/some_method') : redirect('somecontroller/some_method')