Symfony 如何在google plus中获取familyName和givenName?

Symfony 如何在google plus中获取familyName和givenName?,symfony,google-api,google-plus,fosuserbundle,hwioauthbundle,Symfony,Google Api,Google Plus,Fosuserbundle,Hwioauthbundle,我正在使用HWIOAuthBundle从google+api检索数据。为此,我扩展了FOSUBUserProvider类,并重写了公共函数loadUserByOAuthUserResponse(UserResponseInterface$response){},如下所示: public function loadUserByOAuthUserResponse(UserResponseInterface $response) { // some check // ... /

我正在使用HWIOAuthBundle从google+api检索数据。为此,我扩展了FOSUBUserProvider类,并重写了
公共函数loadUserByOAuthUserResponse(UserResponseInterface$response){}
,如下所示:

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;
}
这就是在google+中定义人的方式

{
 "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
}
我的目标是检索
givenName
familyName


谢谢你给我一个主意

我找到了解决办法。要获取familyName和givenName,您只需要以下内容:
$attr['given_name']
$attr['family_name']


希望它能帮助其他人…

$attr['name']['givenName']?我已经尝试过了,但没有成功!!!打印($attr)收益率?这是我最大的问题。在服务
FOSUBUserProvider
中写入打印($attr)将不会显示!你有没有办法至少把它记在日志里?谢谢。顺便说一下,我检查了日志文件,
$attr
上没有任何内容。我应该为生成日志文件编写服务吗?