[oauth] Nutzerinformationen über Google API abrufen



2 Answers

Umfang - https://www.googleapis.com/auth/userinfo.profile

return youraccess_token = access_token

https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=youraccess_token

du wirst json bekommen:

{
 "id": "xx",
 "name": "xx",
 "given_name": "xx",
 "family_name": "xx",
 "link": "xx",
 "picture": "xx",
 "gender": "xx",
 "locale": "xx"
}

Um Tahir Yasin:

Dies ist ein PHP-Beispiel.
Sie können die json_decode-Funktion verwenden, um das userInfo-Array abzurufen.

$q = 'https://www.googleapis.com/oauth2/v1/userinfo?access_token=xxx';
$json = file_get_contents($q);
$userInfoArray = json_decode($json,true);
$googleEmail = $userInfoArray['email'];
$googleFirstName = $userInfoArray['given_name'];
$googleLastName = $userInfoArray['family_name'];
Question

Ist es möglich, Informationen aus dem Nutzerprofil über Google API zu erhalten? Wenn es möglich ist, welche API sollte ich verwenden?

Ich bin an solchen Informationen interessiert:

Es wäre auch cool, andere Informationen aus dem Benutzerprofil zu erhalten.







Ich benutze PHP und löste dies mit der Version 1.1.4 von google-api-php-client

Angenommen, der folgende Code wird verwendet, um einen Nutzer auf die Google-Authentifizierungsseite umzuleiten:

 $client = new Google_Client();
 $client->setAuthConfigFile('/path/to/config/file/here');
 $client->setRedirectUri('https://redirect/url/here');
 $client->setAccessType('offline'); //optional
 $client->setScopes(['profile']); //or email
 $auth_url = $client->createAuthUrl();
 header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL));
 exit();

Unter der Annahme, dass ein gültiger Authentifizierungscode an die redirect_url wird, generiert der folgende Code ein Token aus dem Authentifizierungscode sowie grundlegende Profilinformationen:

 //assuming a successful authentication code is return
 $authentication_code = 'code-returned-by-google';
 $client = new Google_Client();
 //.... configure $client object code goes here
 $client->authenticate($authentication_code);
 $token_data = $client->getAccessToken();

 //get user email address
 $google_oauth =new Google_Service_Oauth2($client);
 $google_account_email = $google_oauth->userinfo->get()->email;
 //$google_oauth->userinfo->get()->familyName;
 //$google_oauth->userinfo->get()->givenName;
 //$google_oauth->userinfo->get()->name;
 //$google_oauth->userinfo->get()->gender;
 //$google_oauth->userinfo->get()->picture; //profile picture

Der Standort wird jedoch nicht zurückgegeben. Neue YouTube-Konten haben keine YouTube-spezifischen Nutzernamen




Related