| 
<?php/*
 * file_login_with_google.php
 *
 * @(#) $Id: file_get_google_account.php,v 1.2 2023/11/01 10:31:01 mlemos Exp $
 *
 */
 
 /*
 *  Get the http.php file from http://www.phpclasses.org/httpclient
 */
 require('http.php');
 require('oauth_client.php');
 require('file_oauth_client.php');
 
 /*
 * Create an object of the sub-class of the OAuth client class that is
 * specialized in storing and retrieving access tokens from files
 *
 */
 $client = new file_oauth_client_class;
 
 /*
 * Define options specific to your token file storage
 */
 $client->file = array(
 'name'=>'token.json',
 );
 $client->server = 'Google';
 
 /*
 * Set the offline access only if you need to call an API
 * when the user is not present and the token may expire
 */
 $client->offline = true;
 
 $client->debug = false;
 $client->debug_http = false;
 $client->redirect_uri = '';
 
 $client->client_id = ''; $application_line = __LINE__;
 $client->client_secret = '';
 $client->client_id = '824905321889-f11rj51gfs47of6umg41pfhg0d69fld1.apps.googleusercontent.com';
 $client->client_secret = 'B7OSJPLoq18lUPOStSyUZF4m';
 
 if(strlen($client->client_id) == 0
 || strlen($client->client_secret) == 0)
 die('Please go to Google APIs console page '.
 'https://console.cloud.google.com/apis/dashboard in the API access tab, '.
 'create a new client ID, and in the line '.$application_line.
 ' set the client_id to Client ID and client_secret with Client Secret. '.
 'The callback URL must be '.$client->redirect_uri.' but make sure '.
 'the domain is valid and can be resolved by a public DNS.');
 
 /* API permissions
 */
 $client->scope = 'https://www.googleapis.com/auth/userinfo.email '.
 'https://www.googleapis.com/auth/userinfo.profile';
 if(($success = $client->Initialize()))
 {
 $client->store_access_token_response = true;
 if(($success = $client->CheckAccessToken($redirect_url)))
 {
 if(IsSet($redirect_url))
 die('Please obtain the access token first telling the user to access the page of the script file_login_with_google.php .');
 if(strlen($client->authorization_error))
 {
 $client->error = $client->authorization_error;
 $success = false;
 }
 elseif(strlen($client->access_token))
 {
 $success = $client->CallAPI(
 'https://www.googleapis.com/oauth2/v1/userinfo',
 'GET', array(), array('FailOnAccessError'=>true), $user);
 }
 }
 $success = $client->Finalize($success);
 }
 if($client->exit)
 exit;
 if($success)
 {
 echo "Google OAuth client results:", "\n";
 echo "This Google API OAuth Access token belongs to user ", $user->name, ".\n";
 echo print_r($user, 1), "\n";
 }
 else
 {
 echo "OAuth client error:", "\n";
 echo "Error: ", $client->error, "\n";
 }
 ?>
 |