Utilizzando OAuth2, è possibile richiedere autorizzazioni tramite il parametro ambito. (Documentation.) Immagino che gli scopi desiderati sono https://www.googleapis.com/auth/userinfo.email e https://www.googleapis.com/auth/userinfo.profile.
Poi, è una questione semplice per avere le informazioni del profilo, una volta che hai ottenuto il tuo token di accesso. (Presumo che sei stato in grado di riscattare il codice di autorizzazione restituito per un token di accesso?) Basta fare una richiesta GET a https://www.googleapis.com/oauth2/v1/userinfo?access_token= {access token}, che restituisce una matrice JSON dei dati del profilo, tra cui e-mail:
{
"id": "00000000000000",
"email": "[email protected]",
"verified_email": true,
"name": "Fred Example",
"given_name": "Fred",
"family_name": "Example",
"picture": "https://lh5.googleusercontent.com/-2Sv-4bBMLLA/AAAAAAAAAAI/AAAAAAAAABo/bEG4kI2mG0I/photo.jpg",
"gender": "male",
"locale": "en-US"
}
Non ci sono garanzie, ma provate questo:
$url = "https://www.googleapis.com/oauth2/v1/userinfo";
$request = apiClient::$io->makeRequest($client->sign(new apiHttpRequest($url, 'GET')));
if ((int)$request->getResponseHttpCode() == 200) {
$response = $request->getResponseBody();
$decodedResponse = json_decode($response, true);
//process user info
} else {
$response = $request->getResponseBody();
$decodedResponse = json_decode($response, true);
if ($decodedResponse != $response && $decodedResponse != null && $decodedResponse['error']) {
$response = $decodedResponse['error'];
}
}
}
come si ottiene token di accesso? – selvan
@konga Raju come ha fatto u ottenere il token può u prego di dirmi i passi grazie –