2

Google + api에서 데이터를 검색하는 데 HWIOAuthBundle을 사용하고 있습니다. 이를 위해, 나는 FOSUBUserProvider 클래스를 확장하고 다음과 같이 나는 public function loadUserByOAuthUserResponse(UserResponseInterface $response) {}을 다시 썼다 :google plus에서 familyName 및 givenName을 얻는 방법은 무엇입니까?

public function loadUserByOAuthUserResponse(UserResponseInterface $response) { 
    // some check 
    // ... 
    // getting the attributes for the google+ api 
    $attr = $response->getResponse(); 

    // creating and setting my user 
    $user = $this->userManager->createUser(); 
    $user->$setter_id($username); 
    $user->$setter_token($response->getAccessToken()); 

    $user->setEmail($response->getEmail()); 
    $user->setEmailCanonical($response->getEmail()); 
    if (isset($attr['gender'])) { 
     if ($attr['gender'] == 'male') 
      $user->setGoogleGender(true); 
     else 
      $user->setGoogleGender(false); 
     } 
     if (isset($attr['birthday'])) { 
      $user->setGoogleBirthday(new \DateTime($attr['birthday'])); 
     } 
     if (isset($attr['name'])) { 
      // $attr['name'] contains displayName (givenName and familyName together) 
     } 

return $user; 
} 

이 구글 +에서 사람을 정의하는 방법이다.

{ 
"kind": "plus#person", 
"etag": "XXXX", 
"gender": "male", 
"objectType": "person", 
"id": "9999999999999", 
"displayName": "Jule Dupond", 
"name": { 
    "familyName": "Dupond", 
    "givenName": "Jule" 
}, 
"url": "https://plus.google.com/9999999", 
"image": { 
    "url": "https://....", 
    "isDefault": true 
}, 
"isPlusUser": true, 
"circledByCount": 1, 
"verified": false 
} 

내 목표는 단순히givenNamefamilyName를 검색하는 것입니다.

아이디어를 제공해 주셔서 감사합니다.

+0

$ attr [ 'name'] [ 'givenName']? – Cerad

+0

나는 이미 그걸 시도했지만 성공하지 못했습니다 !!! – user3320184

+0

print_r ($ attr)이 (가) 발생합니까? – Cerad

답변

1

해결책을 찾았습니다. familyName 및 givenName을 가져 오려면이 값이 $attr['given_name']$attr['family_name']이어야합니다.

다른 사람들에게 도움이되기를 바랍니다.

관련 문제