gpt4 book ai didi

php - 为什么我无法检索 Facebook 性别? [Laravel 5.1 名媛]

转载 作者:搜寻专家 更新时间:2023-10-31 21:55:49 28 4
gpt4 key购买 nike

我刚刚使用 Laravel Socialite 制作了一个授权 Controller 。第一次我只检索姓名和电子邮件数据,然后我尝试检索性别,但出现错误

Undefined property: Laravel\Socialite\Two\User::$gender

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

Controller 源代码:

public function redirectToProvider()
{
return Socialite::driver('facebook')->redirect();
}


public function handleProviderCallback()
{
try {
$user = Socialite::driver('facebook')->user();
} catch (Exception $e) {
return Redirect::to('login/facebook');
}

$authUser = $this->findOrCreateUser($user);

Auth::login($authUser, true);

return Redirect::to('home');
}


private function findOrCreateUser($fbUser)
{
if ($authUser = User::where('email', $fbUser->email)->first()) {
return $authUser;
}
$role = "member";
return User::create([
'firstname' => $fbUser->name,
'email' => $fbUser->email,
'gender' => $fbUser->gender,
'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"
}

最佳答案

'gender' => $fbUser->user['gender'],

因为性别出现在 user[] 数组中...所以您可以通过这种方式访问​​它。

但请记住,您的应用需要获得 Facebook 许可才能检索此值。

关于php - 为什么我无法检索 Facebook 性别? [Laravel 5.1 名媛],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33887624/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com