Skip to main content

Google login Api with php

How to create Google login

Step: 1 Go to this url
https://cloud.google.com/console

Step 2: Create a project






Step 3: Enter the project name










Step 4: Now on google+ api






Step 5: Now click on credentials and click on create new id










Step 6: Enter the redirect url


















Now put this code in header

<?php
$response_type1 = "code";
$client_id1 = "38789626348.apps.googleusercontent.com";
$redirect_uri1 = "http://example.com/Homes/user_google_login";

$scope1 = "https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile";
//$scope = "https://www.googleapis.com/auth/userinfo.profile";
$state1 = "access";
?>

<script type="text/javascript">
function student_google_login(){
window.open("https://accounts.google.com/o/oauth2/auth?response_type=<?php echo $response_type1;?>&client_id=<?php echo $client_id1;?>&redirect_uri=<?php echo $redirect_uri1;?>&scope=<?php echo $scope1;?>&state=<?php echo $state1;?>", height = 600, width = 400)
  }

</script>

 function user_google_login()
{
$this->autoRender = 'true';
$this->loadModel('EmailTemplate');

$client_id = "3874334626348.apps.googleusercontent.com";
$client_secret = "tQuWyTJnKyErRKMLUj4TcaY2Hw";

$redirect_uri="http://example.com/Homes/user_google_login";

if(!empty($_REQUEST['code'])){

$post = array(
    "grant_type" => "authorization_code",
    "code" => $_REQUEST['code'],
    "client_id" => $client_id,
    "client_secret" => $client_secret,
    "redirect_uri" => $redirect_uri
);
   $postText = http_build_query($post);

//echo "<pre>";print_r($postText); die;

$url = "https://accounts.google.com/o/oauth2/token";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postText);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($ch);
curl_close($ch);

$access_token1 = explode(":",$result);
$access_token2 = explode(",",$access_token1[1]);
$access_token = str_replace('"','',$access_token2[0]);
$access_token = str_replace("&nbsp;","",$access_token);

$getText = "";
$url1 = "https://www.googleapis.com/oauth2/v1/userinfo?access_token=".str_replace(" ","",trim($access_token));

$ch1 = curl_init();
curl_setopt($ch1,CURLOPT_URL, $url1);
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch1, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch1, CURLOPT_SSL_VERIFYHOST, false);
$result111 = (string)curl_exec($ch1);
curl_close($ch1);
$gmail_details = str_replace("{","",$result111);

$gmail_details = str_replace("}","",$gmail_details);
$gmail_details = str_replace('"',"",$gmail_details);
$details = explode(',',$gmail_details);

$i=1;
foreach($details as $detail){
$aa = array();
$detail = str_replace("https://",'|||',$detail);
$aa = explode(':',$detail);
$gmail_details1[trim($aa[0])] = trim(str_replace("|||",'https://',trim($aa[1])));

}
}

Comments

Popular posts from this blog

Generate XML file in Cakephp

Steps to Generate XML file using CakePHP: Step-1 Enable to parse xml extension in config route.php file.     Router::parseExtensions('xml'); Step-2 Add Request Handler Component to the Controller    var $components = array(‘RequestHandler’); Step-3 Add controller Action For XML Generation in Post Controller     function generateXMLFile()     {         if ($this->RequestHandler->isXml()) { // check request type             $this->layout = 'empty'; // create an empty layout in app/views/layouts/empty.ctp              }        }  Add header code in empty layout <?php header('Content-type: text/xml');?> <?php echo $this->Xml->header(); ?> <?php echo $content_for_layout; ?> Step-4 Set up View To generate XML Create xml folder inside Posts vi...

Simple JavaScript Object and Class Examples

In JavaScript, most things are objects. An object is a collection of related data and/or functionality Namespace: Everything you create in JavaScript is by default global. In JavaScript namespace is Global object . How to create a namespace in JavaScript? Create one global object, and all variables, methods, and functions become properties of that object. Example:  // global namespace var MYAPP = MYAPP || {}; Explaination: Here we first checked whether MYAPP is already defined.If yes, then use the existing MYAPP global object, otherwise create an empty object called MYAPP How to create sub namespaces? // sub namespace MYAPP.event = {}; Class JavaScript is a prototype-based language and contains no class statement.JavaScript classes create simple objects and deal with inheritance. Example: var Person = function () {}; Explaination: Here we define a new class called Person with an empty constructor. Use the class keyword class Calculation {}; A class expr...

How to Add Next Previous links to The Event Calendar

Add Next/Previous links to The Event Calendar Wordpress Plugin Add code to your child theme’s functions.php file /**  * Allows visitors to page forward/backwards in any direction within month view */ if ( class_exists( 'Tribe__Events__Main' ) ) { class ContinualMonthViewPagination {     public function __construct() {         add_filter( 'tribe_events_the_next_month_link', array( $this, 'next_month' ) );         add_filter( 'tribe_events_the_previous_month_link', array( $this, 'previous_month' ) );     }     public function next_month() {         $url = tribe_get_next_month_link();         $text = tribe_get_next_month_text();         $date = Tribe__Events__Main::instance()->nextMonth( tribe_get_month_view_date() );         return '<a data-month="' . $date . '" href="' . $url . '" rel="next"...