Per fare cio' in Php per prima cosa si deve creare una applicazione andando su questa pagina https://code.google.com/apis/console/?api=plus&pli=1
Si crea una nuova applicazione
a questo punto si puo' scaricare da questo link la libreria Php per interfacciarsi con le API di Google
Attenzione: il redirect Url e' l'indirizzo dello script che gestisce l'autenticazione. Normalmente Google richiede che sia un indirizzo in https ma si puo' cambiare anche in http (non come per le API di Facebook)
Si puo' quindi inserire lo script in Php riportato alla fine di questo post per verificare l'uso delle API modificando i campi evidenziati in giallo con le proprie chiavi
A questo punto richiamando l'indirizzo dello script in un browser si avranno le seguenti schermate
Richiesta di login
Verifica dei permessi richiesti dall'applicazione (in questo caso minimali)
Conferma dell'avvenuta autenticazione
<?php
require_once './api/src/Google_Client.php';
require_once './api/src/contrib/Google_Oauth2Service.php';
session_start();
$client = new Google_Client();
$client->setApplicationName("Google UserInfo PHP Starter Application");
$client->setClientId('30253xxxxxx.apps.googleusercontent.com');
$client->setClientSecret('Yq8K0SS-p28tjQxxxxxxxxxx');
$client->setRedirectUri('http://xxxxxx/luca/google/test.php');
$client->setDeveloperKey('AIzaSyDchpWdZDkRtCmdXRANkXjxxxxxxx');
$oauth2 = new Google_Oauth2Service($client);
if (isset($_GET['code'])) {
$client->authenticate($_GET['code']);
$_SESSION['token'] = $client->getAccessToken();
$redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));
return;
}
if (isset($_SESSION['token'])) {
$client->setAccessToken($_SESSION['token']);
}
if (isset($_REQUEST['logout'])) {
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
$email = filter_var($user['email'], FILTER_SANITIZE_EMAIL);
$img = filter_var($user['picture'], FILTER_VALIDATE_URL);
$personMarkup = "$email<div><img src='$img?sz=50'></div>";
// The access token may have been updated lazily.
$_SESSION['token'] = $client->getAccessToken();
} else {
$authUrl = $client->createAuthUrl();
}
?>
<!doctype html>
<html>
<head><meta charset="utf-8"></head>
<body>
<header><h1>Google UserInfo Sample App</h1></header>
<?php if(isset($personMarkup)): ?>
<?php print $personMarkup ?>
<?php endif ?>
<?php
if(isset($authUrl)) {
print "<a class='login' href='$authUrl'>Connect Me!</a>";
} else {
print "<a class='logout' href='?logout'>Logout</a>";
}
?>
</body></html>