Php 为什么我无法检索facebook性别?[Laravel 5.1社交名流]

Php 为什么我无法检索facebook性别?[Laravel 5.1社交名流],php,laravel,facebook,laravel-5,laravel-socialite,Php,Laravel,Facebook,Laravel 5,Laravel Socialite,我刚和拉威尔社交名流做了一个身份控制器。第一次,我只是检索姓名和电子邮件数据,然后我尝试检索性别,但出现了一个错误,即 未定义的属性:Laravel\Socialite\Two\User::$gender 有人请帮我解决我的问题,哦,是的,我的网站仍处于开发模式,但我认为这不是一个问题,因为在facebook开发者文档中,我仍然可以访问基本信息,如名字、姓氏、个人资料图片、性别和年龄范围 控制器源代码: 公共函数重定向到提供程序() { return Socialite::driver('fac

我刚和拉威尔社交名流做了一个身份控制器。第一次,我只是检索姓名和电子邮件数据,然后我尝试检索性别,但出现了一个错误,即

未定义的属性:Laravel\Socialite\Two\User::$gender

有人请帮我解决我的问题,哦,是的,我的网站仍处于开发模式,但我认为这不是一个问题,因为在facebook开发者文档中,我仍然可以访问基本信息,如名字、姓氏、个人资料图片、性别和年龄范围

控制器源代码:

公共函数重定向到提供程序()
{
return Socialite::driver('facebook')->redirect();
}
公共函数handleProviderCallback()
{
试一试{
$user=Socialite::driver('facebook')->user();
}捕获(例外$e){
返回重定向::到('login/facebook');
}
$authUser=$this->findOrCreateUser($user);
Auth::login($authUser,true);
返回重定向::到('home');
}
私有函数findOrCreateUser($fbUser)
{
如果($authUser=User::where('email',$fbUser->email)->first()){
返回$authUser;
}
$role=“member”;
返回用户::创建([
“firstname”=>fbUser->name,
'email'=>fbUser->email,
“性别”=>$fbUser->性别,
'role'=>$role
]);
} 
在这里,我提供了使用
dd($user)时得到的信息方法:

User {# ▼
  +token: "tokken value"
  +id: "id value"
  +nickname: null
  +name: "name value"
  +email: "email value"
  +avatar: "avatar value"
  +"user": array:value [▶]
  +"avatar_original": "avatar_original value"
}
因为性别出现在用户[]数组中。。。所以你可以通过这种方式访问它


但请记住,您的应用程序需要获得Facebook权限才能检索此值。

您可以执行$user=Socialite::driver('Facebook');dd(用户);要查看返回的内容并确认是否存在,我刚刚执行了操作,但它没有回调性别值,我应该怎么做?很好。这里有什么+“用户”数组…请点击箭头查看。如果是的话,你能看到那里的性别吗。然后你可以试着使用数组键哇它的工作谢谢先生hehe…很好。这是你用的吗<代码>$user['user']['gender']
$user->user['gender']
'gender' => $fbUser->user['gender'],