Sample code for 30+ languages & platforms
PHP Extension

Google OAuth2 v3 userinfo (https://www.googleapis.com/oauth2/v3/userinfo)

See more Google APIs Examples

Demonstrates how to get the Google OAuth2 v3 userinfo.

Important: Make sure the OAuth2 access token included "profile" in the list of scopes.

Chilkat PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

$success = false;

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

// It is assumed we previously obtained an OAuth2 access token.
// This example loads the JSON access token file 
// originally obtained by this example: Get Google People API OAuth2 Access Token
// or refreshed by this example: Refresh Google People API OAuth2 Access Token

$jsonToken = new CkJsonObject();
$success = $jsonToken->LoadFile('qa_data/tokens/googlePeople.json');
if ($success != true) {
    print 'Failed to load googleContacts.json' . "\n";
    exit;
}

$http = new CkHttp();

// -------------------------------------------------------------------------------------
// Make sure the access token was obtained with "profile" included in the list of scopes.
// -------------------------------------------------------------------------------------
$http->put_AuthToken($jsonToken->stringOf('access_token'));

$sbResponseBody = new CkStringBuilder();
$success = $http->QuickGetSb('https://www.googleapis.com/oauth2/v3/userinfo',$sbResponseBody);
if ($success == false) {
    print $http->lastErrorText() . "\n";
    print $sbResponseBody->getAsString() . "\n";
    exit;
}

// Sample JSON Response

$json = new CkJsonObject();
$json->put_EmitCompact(false);
$json->Load($sbResponseBody->getAsString());
print $json->emit() . "\n";

// Sample response:

// {
//   "sub": "119999690625687999964",
//   "name": "Matt",
//   "given_name": "Matt",
//   "picture": "https://lh3.googleusercontent.com/-b4...eg3Zjo/AAAAAAAAAAI/AAAAAAAAAAA/AMZuu....3RpdA/s96-c/photo.jpg",
//   "locale": "en"
// }
// 

?>