examples - Cómo obtener información del usuario con Google API PHP SDK
google/apiclient (2)
Esto devolverá un objeto Google_Service_Oauth2_Userinfoplus con la información que probablemente esté buscando:
$oauth2 = new /Google_Service_Oauth2($client);
$userInfo = $oauth2->userinfo->get();
print_r($userInfo);
Donde $client
es una instancia de Google_Client
Productos:
Google_Service_Oauth2_Userinfoplus Object
(
[internal_gapi_mappings:protected] => Array
(
[familyName] => family_name
[givenName] => given_name
[verifiedEmail] => verified_email
)
[email] =>
[familyName] =>
[gender] =>
[givenName] =>
[hd] =>
[id] => 123456
[link] => https://plus.google.com/123456
[locale] => en-GB
[name] => someguy
[picture] => https://lh3.googleusercontent.com/-q1Smh9d8d0g/AAAAAAAAAAM/AAAAAAAAAAA/3YaY0XeTIPc/photo.jpg
[verifiedEmail] =>
[modelData:protected] => Array
(
)
[processed:protected] => Array
(
)
)
También tenga en cuenta que debe solicitar el https://www.googleapis.com/auth/userinfo.profile
ámbito también.
Estoy intentando agregar una opción de inicio de sesión a mi sitio web para personas con cuentas de Google. Pude implementar este Facebook pero tuve problemas para obtener información de la cuenta de usuario con Google.
Estoy usando el SDK de Google PHP que se encuentra aquí: https://github.com/google/google-api-php-client
$client = new Google_Client();
$client->setClientId($this->ci->config->item(''client_id'', ''google''));
$client->setClientSecret($this->ci->config->item(''client_secret'', ''google''));
$client->setRedirectUri($this->ci->config->item(''callback_uri'', ''google''));
$client->addScope(''https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/plus.login'');
$this->client->createAuthUrl();
Pero ahora, ¿cómo accedo a la dirección de correo electrónico del usuario y a otra información básica?
Veo en el SDK de PHP de Google un método llamado getAccountInfo()
en la clase Google_Service_IdentityToolkit
. Sin embargo, el parámetro que requiere es postBody
pero no estoy seguro de cómo obtenerlo / compilarlo.
Debería poder obtener esta información construyendo un objeto Google_Service_OAuth2, pasando el Google_Client como parámetro y luego obteniendo la información del usuario desde allí.
$oauth2 = new Google_Service_Oauth2($client);
$userInfo = $oauth2->userinfo;