google examples apiclient php sdk google-oauth google-admin-sdk

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;