function google() { $client = new Google_Client(); $client->setApplicationName("snmmaurya"); $client->setClientId(CLIENT_ID); $client->setClientSecret(CLIENT_SECRET); $client->setRedirectUri(REDIRECT_URI); $client->setApprovalPrompt(APPROVAL_PROMPT); $client->setAccessType(ACCESS_TYPE); $oauth2 = new Google_Oauth2Service($client); if (isset($_GET['code'])) { $client->authenticate($_GET['code']); $_SESSION['token'] = $client->getAccessToken(); } if (isset($_SESSION['token'])) { $client->setAccessToken($_SESSION['token']); } if (isset($_REQUEST['error'])) { echo '<script type="text/javascript">window.close();</script>'; exit; } if ($client->getAccessToken()) { $user = $oauth2->userinfo->get(); $_SESSION['User'] = $user; $_SESSION['token'] = $client->getAccessToken(); } else { $authUrl = $client->createAuthUrl(); header('Location: ' . $authUrl); } }
/** * Returns an authorized API client. * @return Google_Client the authorized client object */ private function getGoogleApiClient() { $client = new Google_Client(); $client->setApplicationName($this->CFG['GOOGLE_API_APPLICATION_NAME']); $client->setScopes(Google_Service_Calendar::CALENDAR); $client->setAuthConfigFile($this->CFG['GOOGLE_API_CLIENT_SECRET_PATH']); $client->setAccessType('offline'); // Load previously authorized credentials from a file. $credentialsPath = $this->CFG['GOOGLE_API_CREDENTIALS_PATH']; if (file_exists($credentialsPath)) { $accessToken = file_get_contents($credentialsPath); } else { // Request authorization from the user. $authUrl = $client->createAuthUrl(); printf("Open the following link in your browser:\n%s\n", $authUrl); print 'Enter verification code: '; $authCode = trim(fgets(STDIN)); // Exchange authorization code for an access token. $accessToken = $client->authenticate($authCode); // Store the credentials to disk. if (!file_exists(dirname($credentialsPath))) { mkdir(dirname($credentialsPath), 0700, true); } file_put_contents($credentialsPath, $accessToken); printf("Credentials saved to %s\n", $credentialsPath); } $client->setAccessToken($accessToken); // Refresh the token if it's expired. if ($client->isAccessTokenExpired()) { $client->refreshToken($client->getRefreshToken()); file_put_contents($credentialsPath, $client->getAccessToken()); } return $client; }
public function signin() { $client = new \Google_Client(); $client->setClientId(Config::get('ntentan:social.google.client_id')); $client->setClientSecret(Config::get('ntentan:social.google.client_secret')); $client->setRedirectUri(Config::get('ntentan:social.google.redirect_uri')); $client->addScope(array('profile', 'email')); $oauth2 = new \Google_Service_Oauth2($client); if (isset($_REQUEST['logout'])) { Session::set('access_token', ''); $client->revokeToken(); } if (isset($_GET['code'])) { $client->authenticate($_GET['code']); Session::set('access_token', $client->getAccessToken()); Redirect::path(\ntentan\Router::getRoute()); } if (isset($_SESSION['access_token'])) { $client->setAccessToken($_SESSION['access_token']); } if ($client->isAccessTokenExpired()) { $authUrl = $client->createAuthUrl(); header('Location: ' . filter_var($authUrl, FILTER_SANITIZE_URL)); } if ($client->getAccessToken()) { $user = $oauth2->userinfo->get(); $_SESSION['token'] = $client->getAccessToken(); return array('firstname' => $user['given_name'], 'lastname' => $user['family_name'], 'key' => "google_{$user['id']}", 'avatar' => $user['picture'], 'email' => $user['email'], 'email_confirmed' => $user['verified_email']); } else { header("Location: {$client->createAuthUrl()}"); die; } return false; }
public function refreshToken($accessToken) { $this->_googleClient->setAccessToken($accessToken); // Refresh the token if it's expired. if ($this->_googleClient->isAccessTokenExpired()) { $this->_googleClient->refreshToken($this->_googleClient->getRefreshToken()); } return $this->_googleClient->getAccessToken(); }
function gapps_service($domain) { global $directory; $info = libraries_load('google-api-php-client'); if (!$info['loaded']) { drupal_set_message(t('Can`t authenticate with google as library is missing check Status report or Readme for requirements, download from') . l('https://github.com/google/google-api-php-client/archive/master.zip', 'https://github.com/google/google-api-php-client/archive/master.zip'), 'error'); return FALSE; } $client_email = variable_get('gapps_service_client_email'); $file = file_load(variable_get('gapps_service_private_key')); $private_key = file_get_contents(drupal_realpath($file->uri)); if ($domain == 'teacher') { $user_to_impersonate = variable_get('gapps_teacher_admin'); } else { $user_to_impersonate = variable_get('gapps_student_admin'); } $scopes = array('https://www.googleapis.com/auth/admin.directory.orgunit', 'https://www.googleapis.com/auth/admin.directory.group', 'https://www.googleapis.com/auth/admin.directory.group.member', 'https://www.googleapis.com/auth/admin.directory.user', 'https://www.googleapis.com/auth/admin.directory.user.alias'); $credentials = new Google_Auth_AssertionCredentials($client_email, $scopes, $private_key); $credentials->sub = $user_to_impersonate; $client = new Google_Client(); $client->setApplicationName('Drupal gapps module'); $client->setAssertionCredentials($credentials); while ($client->getAuth()->isAccessTokenExpired()) { $client->getAuth()->refreshTokenWithAssertion($credentials); } $directory = new Google_Service_Directory($client); $_SESSION['gapps_' . $domain . '_access_token'] = $client->getAccessToken(); if ($_SESSION['gapps_' . $domain . '_access_token']) { return $directory; } else { return NULL; } }
function gevent_service() { global $calendar; $info = libraries_load('google-api-php-client'); if (!$info['loaded']) { drupal_set_message(t('Can`t authenticate with google as library is missing check Status report or Readme for requirements, download from') . l('https://github.com/google/google-api-php-client/archive/master.zip', 'https://github.com/google/google-api-php-client/archive/master.zip'), 'error'); return FALSE; } $client_email = variable_get('gapps_service_client_email'); $file = file_load(variable_get('gapps_service_private_key')); $private_key = file_get_contents(drupal_realpath($file->uri)); $user_to_impersonate = variable_get('gevent_admin'); $scopes = array('https://www.googleapis.com/auth/calendar'); $credentials = new Google_Auth_AssertionCredentials($client_email, $scopes, $private_key, 'notasecret', 'http://oauth.net/grant_type/jwt/1.0/bearer', $user_to_impersonate); $client = new Google_Client(); $client->setApplicationName('Drupal gevent module'); $client->setAssertionCredentials($credentials); while ($client->getAuth()->isAccessTokenExpired()) { $client->getAuth()->refreshTokenWithAssertion(); } $calendar = new Google_Service_Calendar($client); $_SESSION['gevent_access_token'] = $client->getAccessToken(); if ($_SESSION['gevent_access_token']) { return $calendar; } else { return NULL; } }
/** * @param $code * @return string */ public function login($code) { $this->client->authenticate($code); $token = $this->client->getAccessToken(); \Session::put('token', $token); return $token; }
public function googlecallback() { $ret = null; //$google_redirect_url = site_url('user/signup'); $google_redirect_url = 'http://localhost/punu/punu/index.php/user/signup'; $client = new Google_Client(); $client->setClientId($this->google_client_id); $client->setClientSecret($this->google_client_secret); $client->setDeveloperKey($this->google_api_key); $client->setRedirectUri($google_redirect_url); $client->addScope($this->google_scope); // Send Client Request $objOAuthService = new Google_Service_Oauth2($client); // Add Access Token to Session if (isset($_GET['code'])) { $client->authenticate($_GET['code']); $_SESSION['google_access_token'] = $client->getAccessToken(); //header('Location: ' . filter_var($this->google_redirect_url, FILTER_SANITIZE_URL)); } // Set Access Token to make Request if (isset($_SESSION['google_access_token']) && $_SESSION['google_access_token']) { $client->setAccessToken($_SESSION['google_access_token']); } // Get User Data from Google and store them in $data if ($client->getAccessToken()) { $userData = $objOAuthService->userinfo->get(); //$_SESSION['userData'] = $userData; $_SESSION['google_access_token'] = $client->getAccessToken(); $ret = $userData; } return $ret; }
function onNextendYoutube(&$google, &$youtube) { $config = new NextendData(); $config->loadJson(NextendSmartSliderStorage::get(self::$_group)); if (!class_exists('Google_Client')) { require_once dirname(__FILE__) . '/googleclient/Google_Client.php'; } if (!class_exists('Google_YouTubeService')) { require_once dirname(__FILE__) . '/googleclient/contrib/Google_YouTubeService.php'; } $google = new Google_Client(); $google->setClientId($config->get('apikey', '')); $google->setClientSecret($config->get('apisecret', '')); $token = $config->get('token', null); if ($token) { $google->setAccessToken($token); } $youtube = new Google_YouTubeService($google); if ($google->isAccessTokenExpired()) { $token = json_decode($google->getAccessToken(), true); if (isset($token['refresh_token'])) { $google->refreshToken($token['refresh_token']); $config->set('token', $google->getAccessToken()); NextendSmartSliderStorage::set(self::$_group, $config->toJSON()); } } }
function bdn_is_user_auth2() { global $driveService; $current_user_id = get_current_user_id(); $client = new Google_Client(); $client->setRedirectUri(home_url('/')); $driveService = new Google_DriveService($client); $oauth2 = new Google_Oauth2Service($client); if (!isset($_GET['code']) && (!is_user_logged_in() || ($access_token = get_user_meta($current_user_id, '_google_access_token', true)) && $client->setAccessToken($access_token) && !$client->getAccessToken())) { header('Location: ' . $client->createAuthUrl()); exit; } if (isset($_GET['code'])) { $client->authenticate($_GET['code']); $user = $oauth2->userinfo->get(); $new_user = get_user_by('email', $user['email']); if (!$current_user_id) { wp_set_current_user($new_user->ID, $new_user->user_login); wp_set_auth_cookie($new_user->ID); do_action('wp_login', $new_user->user_login); } elseif ($new_user->ID == $current_user_id) { update_user_meta($new_user->ID, '_google_access_token', $client->getAccessToken()); } else { die('Sorry, please use your BDN account'); } header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']); } return $driveService; }
public function index() { // include_once APPPATH . 'libraries/Facebook/facebook.php'; // $facebook = new Facebook([ // 'appId' => '852953064822534', // 'secret' => '29888930212d679180731cc5232732c8' // ]); // $user = $facebook->getUser(); include_once APPPATH . 'libraries/Google/autoload.php'; $client_id = GOOGLE_CLIENT_ID; $client_secret = GOOGLE_CLIENT_SECRET; $redirect_uri = GOOGLE_REDIRECT_URL; // Create Client Request to access Google API $client = new Google_Client(); $client->setApplicationName("PHP Google OAuth Login Example"); $client->setClientId($client_id); $client->setClientSecret($client_secret); $client->setRedirectUri($redirect_uri); $client->addScope("https://www.googleapis.com/auth/userinfo.email"); // Send Client Request $objOAuthService = new Google_Service_Oauth2($client); // Add Access Token to Session if (isset($_GET['code'])) { $client->authenticate($_GET['code']); $this->session->set_userdata(array('access_token' => $client->getAccessToken())); // header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL)); } // Set Access Token to make Request if ($this->session->userdata('access_token') != null) { $client->setAccessToken($this->session->userdata('access_token')); } // Get User Data from Google and store them in $data if ($client->getAccessToken()) { $userData = $objOAuthService->userinfo->get(); $data['userData'] = $userData; $this->session->set_userdata(array('access_token' => $client->getAccessToken())); $ret = $this->User_model->addUser($data['userData']); if ($ret == 'SUSPENDED') { $unset = array('access_token'); $this->session->unset_userdata($unset); $newdata = array('error' => "<font color='red'>Your account has been suspended</font>"); $this->session->set_flashdata($newdata); redirect('signin'); } else { if ($ret == 'FAIL') { $newdata = array('error' => "<font color='red'>Something is issue with login</font>"); $this->session->set_flashdata($newdata); redirect('signin'); } } redirect('dashboard'); } else { $authUrl = $client->createAuthUrl(); $data['authUrl'] = $authUrl; // $data['fbLoginUrl'] = $fbLoginUrl; loadView('signIn', $data); } }
public function index() { if ($this->input->get("error") && $this->input->get("error") == 'access_denied') { redirect("login"); } // Include the google api php libraries include_once APPPATH . "libraries/google-api-php-client/Google_Client.php"; include_once APPPATH . "libraries/google-api-php-client/contrib/Google_Oauth2Service.php"; // Google Project API Credentials $clientId = '438313202103-5ts2epm0c9b8mlj4ddf4lkis3l2qmkq0.apps.googleusercontent.com'; $clientSecret = 'KIW-gQpaglq1dwa3gBAerJdP'; $redirectUrl = 'http://99rightdeals.com/gmail_signup'; // Google Client Configuration $gClient = new Google_Client(); $gClient->setApplicationName('99rightdeals'); $gClient->setClientId($clientId); $gClient->setClientSecret($clientSecret); $gClient->setRedirectUri($redirectUrl); $google_oauthV2 = new Google_Oauth2Service($gClient); if (isset($_REQUEST['code'])) { $gClient->authenticate(); $this->session->set_userdata('token', $gClient->getAccessToken()); redirect($redirectUrl); } $token = $this->session->userdata('token'); if (!empty($token)) { $gClient->setAccessToken($token); } if ($gClient->getAccessToken()) { $userProfile = $google_oauthV2->userinfo->get(); // Preparing data for database insertion $userData['oauth_provider'] = 'google'; $userData['oauth_uid'] = $userProfile['id']; $userData['first_name'] = $userProfile['given_name']; $userData['last_name'] = $userProfile['family_name']; $userData['email'] = $userProfile['email']; $userData['locale'] = $userProfile['locale']; //$userData['profile_url'] = $userProfile['link']; //$userData['picture_url'] = $userProfile['picture']; } $already = $this->signup_model->onloadgmail_already($userData['oauth_uid']); if ($already == 1) { redirect('/'); } $data = array("title" => "Classifieds", "content" => "gmailsignup", 'gmail_data' => $userData); if ($this->input->post("submit")) { $already = $this->signup_model->gmail_already(); if ($already == 1) { redirect('/'); } else { $this->signup_model->gmail_create(); redirect('/'); } } $this->load->view("classified_layout/inner_template", $data); }
public function index() { $this->load->helper('url'); //For load css from config file $ci =& get_instance(); $header_js = $ci->config->item('css'); // Include two files from google-php-client library in controller require_once APPPATH . "libraries/google-api-php-client-master/src/Google/autoload.php"; require_once APPPATH . "libraries/google-api-php-client-master/src/Google/Client.php"; require_once APPPATH . "libraries/google-api-php-client-master/src/Google/Service/Oauth2.php"; // Store values in variables from project created in Google Developer Console $client_id = '180391628117-hf4di0a3l0aaq10c6h933n97p4e1lb2m.apps.googleusercontent.com'; $client_secret = 'Eg_i_sihLL5E5FMGTnyKSVXK'; $redirect_uri = 'http://citest.local.com/index.php/login'; $simple_api_key = 'AIzaSyCSS5nGOzy7OcuSvSMwblVRRPZ9_TFIDnM'; // Create Client Request to access Google API $client = new Google_Client(); $client->setApplicationName("PHP Google OAuth Login Example"); $client->setClientId($client_id); $client->setClientSecret($client_secret); $client->setRedirectUri($redirect_uri); $client->setDeveloperKey($simple_api_key); $client->addScope("https://www.googleapis.com/auth/userinfo.email"); // Send Client Request $objOAuthService = new Google_Service_Oauth2($client); // Add Access Token to Session if (isset($_GET['code'])) { $client->authenticate($_GET['code']); $_SESSION['access_token'] = $client->getAccessToken(); header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL)); } // Set Access Token to make Request if (isset($_SESSION['access_token']) && $_SESSION['access_token']) { $client->setAccessToken($_SESSION['access_token']); } // Get User Data from Google and store them in $data if ($client->getAccessToken()) { $userData = $objOAuthService->userinfo->get(); //Save google login user data in database $saveData = array('name' => $userData['name'], 'email' => $userData['email'], 'gender' => $userData['gender']); $this->user_model->saveUserData($saveData); $data['userData'] = $userData; $_SESSION['access_token'] = $client->getAccessToken(); } else { $authUrl = $client->createAuthUrl(); $data['authUrl'] = $authUrl; } //Load css file added in config file $str = ''; foreach ($header_js as $key => $val) { $str .= '<link rel="stylesheet" href="' . base_url() . 'css/' . $val . '" type="text/css" />' . "\n"; } $data['css'] = $str; // Load view and send values stored in $data $this->load->view('google_authentication', $data); }
public function index() { // パスが通っていなければ設定 $path = 'http://192.168.99.21/app/Vendor/google-api-php-client/src'; set_include_path(get_include_path() . PATH_SEPARATOR . $path); App::import('Vendor', 'Google_Client', array('file' => 'google-api-php-client/src/Google/Client.php')); App::import('Vendor', 'Google_Service', array('file' => 'google-api-php-client/src/Google/Service.php')); App::import('Vendor', 'Google_Service_Model', array('file' => 'google-api-php-client/src/Google/Model.php')); App::import('Vendor', 'Google_Service_Collection', array('file' => 'google-api-php-client/src/Google/Collection.php')); App::import('Vendor', 'Google_Service_Resource', array('file' => 'google-api-php-client/src/Google/Service/Resource.php')); App::import('Vendor', 'Google_Service_Analytics', array('file' => 'google-api-php-client/src/Google/Service/Analytics.php')); // Google Developers Consoleで作成されたクライアントID define('CLIENT_ID', '3274760987-rec90linuevn0ahdi5ck5212gg54m3ur.apps.googleusercontent.com'); // Google Developers Consoleで作成されたクライアントシークレット define('CLIENT_SECRET', 'F_aDjo5IqA2Zn4Dz7gA4sgAm'); // Google Developers Consoleで作成されたリダイレクトURI define('REDIRECT_URI', 'http://' . $_SERVER['HTTP_HOST'] . '/analytics'); $client = new Google_Client(); $client->setClientId(CLIENT_ID); $client->setClientSecret(CLIENT_SECRET); $client->setRedirectUri(REDIRECT_URI); $client->addScope('https://www.googleapis.com/auth/analytics.readonly'); $analytics = new Google_Service_Analytics($client); // 認証後codeを受け取ったらセッション保存 if (isset($this->request->query['code'])) { $client->authenticate($this->request->query['code']); $this->Session->write('token', $client->getAccessToken()); $this->redirect('http://' . $_SERVER['HTTP_HOST'] . '/analytics'); } if ($this->Session->check('token')) { $client->setAccessToken($this->Session->read('token')); } if ($client->getAccessToken()) { $start_date = date('Y-m-d', strtotime('- 10 day')); $end_date = date('Y-m-d'); // GoogleAnalyticsの「アナリティクス設定」>「ビュー」>「ビュー設定」の「ビューID」 $view = '106133184'; // データ取得 $data = array(); $dimensions = 'ga:date'; $metrics = 'ga:visits'; $sort = 'ga:date'; $optParams = array('dimensions' => $dimensions, 'sort' => $sort); $results = $analytics->data_ga->get('ga:' . $view, $start_date, $end_date, $metrics, $optParams); if (isset($results['rows']) && !empty($results['rows'])) { $data['Sample']['date'] = $results['rows'][0][0]; $data['Sample']['visits'] = $results['rows'][0][1]; } pr($data); } else { $auth_url = $client->createAuthUrl(); echo '<a href="' . $auth_url . '">認証</a>'; } exit; }
public function GoogleUser() { $client = new \Google_Client(); $client->setApplicationName(\SKT_GOOGLEOAUTH2_SETAPPLICATIONNAME); // Visit https://code.google.com/apis/console?api=plus to generate your // oauth2_client_id, oauth2_client_secret, and to register your oauth2_redirect_uri. $client->setClientId(\SKT_GOOGLEOAUTH2_SETCLIENTID); $client->setClientSecret(\SKT_GOOGLEOAUTH2_SETCLIENTSECRET); $client->setRedirectUri(\SKT_GOOGLEOAUTH2_SETREDIRECTURI); $client->setDeveloperKey(\SKT_GOOGLEOAUTH2_SETDEVELOPERKEY); $oauth2 = new \Google_Oauth2Service($client); if (isset($_GET['code'])) { $client->authenticate($_GET['code']); $_SESSION['token'] = $client->getAccessToken(); $redirect = \SITE_SERVER; \CmsDev\Header\refresh::refreshNow(\filter_var($redirect, FILTER_SANITIZE_URL)); return; } if (isset($_SESSION['token'])) { $client->setAccessToken($_SESSION['token']); } if (isset($_REQUEST['logout']) or \THIS_URL_REAL === 'UserLogout') { unset($_SESSION['token']); $client->revokeToken(); } if ($client->getAccessToken()) { $user = $oauth2->userinfo->get(); // These fields are currently filtered through the PHP sanitize filters. // See http://www.php.net/manual/en/filter.filters.sanitize.php $this->family_name = filter_var($user['family_name'], \FILTER_SANITIZE_STRING); $this->name = filter_var($user['name'], \FILTER_SANITIZE_STRING); $this->locale = filter_var($user['locale'], \FILTER_SANITIZE_STRING); $this->gender = filter_var($user['gender'], \FILTER_SANITIZE_STRING); $this->email = filter_var($user['email'], \FILTER_SANITIZE_EMAIL); $this->link = filter_var($user['link'], \FILTER_SANITIZE_URL); $this->given_name = filter_var($user['given_name'], \FILTER_SANITIZE_STRING); $this->id = filter_var($user['id'], \FILTER_SANITIZE_STRING); $this->verified_email = filter_var($user['verified_email'], \FILTER_SANITIZE_STRING); if (isset($user['picture']) && $user['picture'] != '') { $this->picture = filter_var($user['picture'], \FILTER_VALIDATE_URL); } else { $this->picture = \SKT_ACCESS_AVATAR; } $this->ClientAuth = 'Google'; $_SESSION['token'] = $client->getAccessToken(); $this->createAuthUrl = $client->createAuthUrl(); $this->Info = array('family_name' => HtmlSpecialChars($this->family_name), 'name' => HtmlSpecialChars($this->name), 'locale' => $this->locale, 'gender' => $this->gender, 'email' => $this->email, 'link' => $this->link, 'given_name' => HtmlSpecialChars($this->given_name), 'id' => $this->id, 'verified_email' => $this->verified_email, 'picture' => $this->picture, 'ClientAuth' => $this->ClientAuth, 'createAuthUrl' => $this->createAuthUrl); \CmsDev\Security\UserRegister::checkAction($this->Info); return true; } else { $this->createAuthUrl = $client->createAuthUrl(); new \CmsDev\Url\refer(); return false; } }
/** * Render method * @return var $output */ public function render() { session_start(); $OAUTH2_CLIENT_ID = $this->arguments['clientid']; $OAUTH2_CLIENT_SECRET = $this->arguments['clientsecret']; $client = new Google_Client(); $client->setClientId($OAUTH2_CLIENT_ID); $client->setClientSecret($OAUTH2_CLIENT_SECRET); $redirect = filter_var('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'], FILTER_SANITIZE_URL); $client->setRedirectUri($redirect); $youtube = new Google_YoutubeService($client); if (isset($_GET['code'])) { if (strval($_SESSION['state']) !== strval($_GET['state'])) { die('The session state did not match.'); } $client->authenticate(); $_SESSION['token'] = $client->getAccessToken(); header('Location: ' . $redirect); } if (isset($_SESSION['token'])) { $client->setAccessToken($_SESSION['token']); } if ($client->getAccessToken()) { try { $channelsResponse = $youtube->channels->listChannels('contentDetails', array('mine' => 'true')); $output = ''; foreach ($channelsResponse['items'] as $channel) { $uploadsListId = $channel['contentDetails']['relatedPlaylists']['uploads']; $playlistItemsResponse = $youtube->playlistItems->listPlaylistItems('snippet', array('playlistId' => $uploadsListId, 'maxResults' => 50)); $output .= "<h3>Videos in list {$uploadsListId}</h3><ul>"; foreach ($playlistItemsResponse['items'] as $playlistItem) { $output .= sprintf('<li>%s (%s)</li>', $playlistItem['snippet']['title'], $playlistItem['snippet']['resourceId']['videoId']); } $output .= '</ul>'; } } catch (Google_ServiceException $e) { $output .= sprintf('<p>A service error occurred: <code>%s</code></p>', htmlspecialchars($e->getMessage())); } catch (Google_Exception $e) { $output .= sprintf('<p>An client error occurred: <code>%s</code></p>', htmlspecialchars($e->getMessage())); } $_SESSION['token'] = $client->getAccessToken(); } else { $state = mt_rand(); $client->setState($state); $_SESSION['state'] = $state; $authUrl = $client->createAuthUrl(); $output = '<h3>Authorization Required</h3><p>You need to <a href="' . $authUrl . '">authorize access</a> before proceeding.<p>'; } return $output; }
/** * Default function to load all the google api settings from config file * @return type */ public function index() { $client_id = $this->config->item('google_client_id'); $client_secret = $this->config->item('google_client_secret'); $redirect_uri = $this->config->item('google_redirect_uri'); $api_key = $this->config->item('google_api_key'); $hosted_domain = $this->config->item('google_allow_domain'); // Create Client Request to access Google API $client = new Google_Client(); $client->setApplicationName("PHP Google OAuth Login Example"); $client->setClientId($client_id); $client->setClientSecret($client_secret); $client->setRedirectUri($redirect_uri); $client->setDeveloperKey($api_key); $client->setHostedDomain($hosted_domain); $client->addScope("https://www.googleapis.com/auth/userinfo.email"); // Send Client Request $objOAuthService = new Google_Service_Oauth2($client); // Add Access Token to Session if (isset($_GET['code'])) { $client->authenticate($_GET['code']); $_SESSION['access_token'] = $client->getAccessToken(); header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL)); } // Set Access Token to make Request if (isset($_SESSION['access_token']) && $_SESSION['access_token']) { $client->setAccessToken($_SESSION['access_token']); } // Get User Data from Google and store them in $data if ($client->getAccessToken()) { $userData = $objOAuthService->userinfo->get(); $data['userData'] = $userData; $_SESSION['access_token'] = $client->getAccessToken(); } else { $authUrl = $client->createAuthUrl(); $data['authUrl'] = $authUrl; } if (isset($authUrl)) { $this->load->view('login', $data); } else { $this->load->model('authentication'); //add the google data in database if not exists $this->authentication->addGoogleCredentials($userData); $user_email = $this->session->userdata('user_email'); $this->authentication->checkUserRole($user_email); $forward_to = $this->session->userdata('user_role'); //redirect to page as per the role redirect($forward_to . '/landing'); } }
public function registrarEvento() { require_once 'complements/Google/Client.php'; require_once 'complements/Google/Service/Calendar.php'; session_start(); $client = new Google_Client(); $client->setApplicationName("Google Calendar PHP Starter Application"); // Visit https://code.google.com/apis/console?api=calendar to generate your // client id, client secret, and to register your redirect uri. $client->setClientId('1027408579728-fomlujink6upq6e1j2fu7nb4tu1frqq7.apps.googleusercontent.com'); $client->setClientSecret('BTzww96MUByc_Ibsy2xX0asR'); $client->setRedirectUri('http://www.hostf5.com.br/f5admin/agenda/redirect'); $client->setDeveloperKey('AIzaSyB9AHH2apXJ7RJ25m5n2yLEMyhKOKA6sMU'); $client->setScopes(array('https://www.googleapis.com/auth/plus.me', 'https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/userinfo.profile', 'https://www.googleapis.com/auth/calendar', 'https://www.googleapis.com/auth/calendar.readonly')); $cal = new Google_Service_Calendar($client); if (isset($_GET['logout'])) { unset($_SESSION['token']); } if (isset($_GET['code'])) { $client->authenticate($_GET['code']); $_SESSION['token'] = $client->getAccessToken(); header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']); } if (isset($_SESSION['token'])) { $client->setAccessToken($_SESSION['token']); } if ($client->getAccessToken()) { $event = new Google_Service_Calendar_Event(); $event->setSummary($title); $event->setLocation($location); $start = new Google_Service_Calendar_EventDateTime(); $start->setTimeZone('America/Montreal'); $start->setDateTime($date . 'T' . $startTime . ':00.000-06:00'); $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); $end->setTimeZone('America/Montreal'); $end->setDateTime($date . 'T' . $endTime . ':00.000-06:00'); $event->setEnd($end); $attendee1 = new Google_Service_Calendar_EventAttendee(); $attendee1->setEmail($email); $attendees = array($attendee1); $event->attendees = $attendees; $cal->events->insert($email, $event); $_SESSION['token'] = $client->getAccessToken(); } else { $authUrl = $client->createAuthUrl(); print "<a class='login' href='{$authUrl}'>Connect me!</a>"; } }
public function testSettersGetters() { $client = new Google_Client(); $client->setClientId("client1"); $client->setClientSecret('client1secret'); $client->setState('1'); $client->setApprovalPrompt('force'); $client->setAccessType('offline'); global $apiConfig; $this->assertEquals('client1', $apiConfig['oauth2_client_id']); $this->assertEquals('client1secret', $apiConfig['oauth2_client_secret']); $client->setRedirectUri('localhost'); $client->setApplicationName('me'); $client->setUseObjects(false); $this->assertEquals('object', gettype($client->getAuth())); $this->assertEquals('object', gettype($client->getCache())); $this->assertEquals('object', gettype($client->getIo())); $client->setAuthClass('Google_AuthNone'); $client->setAuthClass('Google_OAuth2'); try { $client->setAccessToken(null); die('Should have thrown an Google_AuthException.'); } catch (Google_AuthException $e) { $this->assertEquals('Could not json decode the token', $e->getMessage()); } $token = json_encode(array('access_token' => 'token')); $client->setAccessToken($token); $this->assertEquals($token, $client->getAccessToken()); }
function getClient() { $config = (include __DIR__ . '/ini.php'); $client = new Google_Client(); $client->setApplicationName("Webkameleon"); $client->setClientId($config['oauth2_client_id']); $client->setClientSecret($config['oauth2_client_secret']); $client->setRedirectUri($config['oauth2_redirect_uri']); $client->setScopes($config['oauth2_scopes']); $client->setState('offline'); $client->setAccessType('offline'); $client->setApprovalPrompt('force'); if (isset($_GET['code'])) { $client->authenticate($_GET['code']); die($client->getAccessToken()); } elseif (!isset($config['token'])) { Header('Location: ' . $client->createAuthUrl()); } else { $client->setAccessToken($config['token']); if ($client->isAccessTokenExpired()) { $token = json_decode($config['token'], true); $client->refreshToken($token['refresh_token']); } } return $client; }
/** * Checks the connected YouTube account for new uploads, and calls processVideo() on each one. * Returns an array containing up to $limit YouTubeVideo objects * * @param $limit Int number of results to retrieve * @return array */ public function getRecentUploads($limit = 50) { if ($this->getIsAuthenticated()) { try { // Call the channels.list method to retrieve information about the // currently authenticated user's channel. $channelsResponse = $this->service->channels->listChannels('contentDetails', array('mine' => 'true')); $uploads = array(); foreach ($channelsResponse['items'] as $channel) { // Extract the unique playlist ID that identifies the list of videos // uploaded to the channel, and then call the playlistItems.list method // to retrieve that list. $uploadsListId = $channel['contentDetails']['relatedPlaylists']['uploads']; $playlistItemsResponse = $this->service->playlistItems->listPlaylistItems('snippet', array('playlistId' => $uploadsListId, 'maxResults' => $limit)); foreach ($playlistItemsResponse['items'] as $playlistItem) { $videoObject = $this->processVideo($playlistItem); array_push($uploads, $videoObject); } } } catch (Google_Service_Exception $e) { error_log(sprintf('<p>A service error occurred: <code>%s</code></p>', htmlspecialchars($e->getMessage()))); } catch (Google_Exception $e) { error_log(sprintf('<p>An client error occurred: <code>%s</code></p>', htmlspecialchars($e->getMessage()))); } $token = $this->client->getAccessToken(); $this->setConfigToken($token); return isset($uploads) ? $uploads : false; } return false; }
/** * Callback method during authentication. * * @return void */ public function callback() { if ($code = optional_param('oauth2code', null, PARAM_RAW)) { $this->client->authenticate($code); $this->store_access_token($this->client->getAccessToken()); } }
/** * Login to facebook and get the associated cloudrexx user. */ public function login() { $client = new \Google_Client(); $client->setApplicationName('Contrexx Login'); $client->setClientId($this->applicationData[0]); $client->setClientSecret($this->applicationData[1]); $client->setRedirectUri(\Cx\Lib\SocialLogin::getLoginUrl(self::OAUTH_PROVIDER)); $client->setDeveloperKey($this->applicationData[2]); $client->setUseObjects(true); $client->setApprovalPrompt('auto'); $client->setScopes(self::$scopes); self::$google = new \Google_Oauth2Service($client); self::$googleplus = new \Google_PlusService($client); if (isset($_GET['code'])) { try { $client->authenticate(); } catch (\Google_AuthException $e) { } } if (!$client->getAccessToken()) { \Cx\Core\Csrf\Controller\Csrf::header('Location: ' . $client->createAuthUrl()); exit; } self::$userdata = $this->getUserData(); $this->getContrexxUser(self::$userdata['oauth_id']); }
public function call_back() { $config = new Controllers_Api_Google_Config_App(); $client = new Google_Client(); $client->setClientId($config->config['client_id']); $client->setClientSecret($config->config['client_secret']); $client->setRedirectUri($config->config['redirect_uri']); $client->addScope("email"); $client->addScope("profile"); $service = new Google_Service_Oauth2($client); if (isset($_GET['code'])) { $client->authenticate($_GET['code']); $_SESSION['access_token'] = $client->getAccessToken(); header('Location: ' . filter_var($config->config['redirect_uri'], FILTER_SANITIZE_URL)); exit; } /************************************************ If we have an access token, we can make requests, else we generate an authentication URL. ************************************************/ if (isset($_SESSION['access_token']) && $_SESSION['access_token']) { $client->setAccessToken($_SESSION['access_token']); } else { $authUrl = $client->createAuthUrl(); } if (isset($authUrl)) { //show login url echo json_encode(array('status' => false, 'data' => $authUrl)); } else { $user = $service->userinfo->get(); //get user info echo json_encode(array('status' => true, 'data' => $user)); } }
private function refreshAuthToken(\Google_Client $client) { if ($client->isAccessTokenExpired()) { $client->refreshToken($client->getRefreshToken()); file_put_contents(CREDENTIALS_FILE, $client->getAccessToken()); } }
public function get() { $callback = 'http://api.soundeavor.com/User/Auth/Login/Google/index.php'; $config = new \Google_Config(); $config->setApplicationName('Soundeavor'); $config->setClientId(Config::getConfig('GoogleClientId')); $config->setClientSecret(Config::getConfig('GoogleClientSecret')); $config->setRedirectUri($callback); $client = new \Google_Client($config); /* * Add scopes (permissions) for the client https://developers.google.com/oauthplayground/ */ $client->addScope('https://www.googleapis.com/auth/plus.me'); if (!isset($_GET['code'])) { $loginUrl = $client->createAuthUrl(); header('Location: ' . $loginUrl); } $code = $_GET['code']; $client->authenticate($code); $accessToken = $client->getAccessToken(); $accessToken = $accessToken['access_token']; $service = new \Google_Service_Plus($client); $scopes = $service->availableScopes; print_r($scopes); die; }
function getClient() { $client = new Google_Client(); $client->setApplicationName(APPLICATION_NAME); $client->setScopes(SCOPES); $client->setAuthConfigFile(CLIENT_SECRET); $client->setAccessType('offline'); // Load previously authorized credentials from a file. $credentialsPath = expandHomeDirectory(CREDENTIAL_PATH); if (file_exists($credentialsPath)) { $accessToken = file_get_contents($credentialsPath); } else { // Request authorization from the user. $authUrl = $client->createAuthUrl(); printf("Open the following link in your browser:\n\n\t%s\n\n", $authUrl); print 'Enter verification code: '; $authCode = trim(fgets(STDIN)); // Exchange authorization code for an access token. $accessToken = $client->authenticate($authCode); // Store the credentials to disk. if (!file_exists(dirname($credentialsPath))) { mkdir(dirname($credentialsPath), 0700, true); } file_put_contents($credentialsPath, $accessToken); printf("Credentials saved to %s\n", $credentialsPath); } $client->setAccessToken($accessToken); // Refresh the token if it's expired. if ($client->isAccessTokenExpired()) { $client->refreshToken($client->getRefreshToken()); file_put_contents($credentialsPath, $client->getAccessToken()); } return $client; }
function authorizeGoogleUser($access_code) { $client = new \Google_Client(); $google = $this->config->google; $client->setApplicationName('Portal da Rede'); $client->setClientId($google->clientId); $client->setClientSecret($google->secret); $client->setRedirectUri('postmessage'); $client->addScope('https://www.googleapis.com/auth/userinfo.profile'); $client->addScope('https://www.googleapis.com/auth/userinfo.email'); $client->authenticate($access_code); $json_token = $client->getAccessToken(); $client->setAccessToken($json_token); $plus = new \Google_Service_Plus($client); $user = $plus->people->get('me'); if (!$user->emails || !is_array($user->emails)) { return; } $email = $user->emails[0]['value']; $user_email = $this->db->user_email->find_one($email); if (!$user_email) { return; } $this->login($user_email->user); }
function getClient() { // Authenticate your API Client $client = new Google_Client(); //$client->addScope(Google_Service_Storage::DEVSTORAGE_FULL_CONTROL); $client->addScope(Google_Service_Storage::DEVSTORAGE_READ_WRITE); // see ~/sandbox/zouk-event-calendar/vendor/google/apiclient/src/Google/Service/Storage.php $client->setAccessType("offline"); $client->useApplicationDefaultCredentials(); // no need to acquire special credentials $token = $client->getAccessToken(); if (!$token) { // this is always the case, and same access token is aquired in the fetch call below (can be printed) //syslog(LOG_DEBUG, "girish: access token not present"); $token = $client->fetchAccessTokenWithAssertion(); $client->setAccessToken($token); //syslog(LOG_DEBUG, $token['access_token']); } // token acquried above is always expired. and even if you run fetchAccess...Refreshtoken() it still stays expired //if ($client->isAccessTokenExpired()) { // //syslog(LOG_DEBUG, "girish: access token expired"); // $client->fetchAccessTokenWithRefreshToken($token); //} //if ($client->isAccessTokenExpired()) { // syslog(LOG_DEBUG, "girish: access token still expired!"); // no idea how this works //} return $client; }
function getClient() { $client = new Google_Client(); $client->setApplicationName(APPLICATION_NAME); $client->setScopes(SCOPES); $client->setAuthConfigFile(CLIENT_SECRET_PATH); $client->setAccessType('offline'); $credentialsPath = CREDENTIALS_PATH; if (file_exists($credentialsPath)) { $accessToken = file_get_contents($credentialsPath); } else { $authUrl = $client->createAuthUrl(); printf("Open the following link in your browser:\n%s\n", $authUrl); print 'Enter verification code: '; $authCode = trim(fgets(STDIN)); $accessToken = $client->authenticate($authCode); if (!file_exists(dirname($credentialsPath))) { mkdir(dirname($credentialsPath), 0700, true); } file_put_contents($credentialsPath, $accessToken); printf("Credentials saved to %s\n", $credentialsPath); } $client->setAccessToken($accessToken); if ($client->isAccessTokenExpired()) { $client->refreshToken($client->getRefreshToken()); file_put_contents($credentialsPath, $client->getAccessToken()); } return $client; }