Как получить информацию о полу и религии на день рождения, используя социальные сети laravel, внедряя Facebook Api
Я только начал использовать Laravel, я использую Laravel Socialite.
Я могу получить имя пользователя и другие данные, используя следующий код. Но как мне получить другие данные, такие как день рождения, пол, религия и т. Д., Которые не находятся в переменной $user??
мой код
$user = Socialite::with('facebook')->user();
return "<h2> User Name ".$user->getName()."</h2><h2> ID :".$user->getId()."</h2><h2>Full Object: ".var_dump($user)"About".$user->getAbout();
мой вывод:
object(Laravel\Socialite\Two\User)#170 (10) { ["token"]=> string(162) "EAADg3CcIylABAESNrt1ZBsHiLzlR7uu4e4SCjNsU8jJK6zAurEZBGW7BexQiMjiRkrIw57LYPuNrFZBiaW8MIWAh0oIOIIyFF916PH8SDCtU68r83OYBsXbJzS5x4AzIQlpxX8W7V6Mtg446CqwocGXZCHXRFv8ZD" ["refreshToken"]=> NULL ["expiresIn"]=> string(7) "5170770" ["id"]=> string(15) "624135571074425" ["nickname"]=> NULL ["name"]=> string(21) "Muhammad Abdullah Ali" ["email"]=> string(27) "abdullahbinali3@hotmail.com" ["avatar"]=> string(67) "https://graph.facebook.com/v2.6/624135571074425/picture?type=normal" ["user"]=> array(5) { ["name"]=> string(21) "Muhammad Abdullah Ali" ["email"]=> string(27) "abdullahbinali3@hotmail.com" ["gender"]=> string(4) "male" ["verified"]=> bool(true) ["id"]=> string(15) "624135571074425" } ["avatar_original"]=> string(66) "https://graph.facebook.com/v2.6/624135571074425/picture?width=1920" }
Имя пользователя Мухаммед Абдулла Али
ID:624135571074425
2 ответа
В социальной сети перенаправить на Facebook метод:
public function redirectToFacebook()
{
return Socialite::driver('facebook')->fields([
'first_name', 'last_name', 'email', 'gender', 'birthday'
])->scopes([
'email', 'user_birthday'
])->redirect();
}
Чтобы получить дату рождения.
Затем использовать его в своих моделях:
public function handleFacebookCallback()
{
$facebook_user = Socialite::driver('facebook')->fields([
'first_name', 'last_name', 'email', 'gender', 'birthday'
])->user();
}
Примечание: он попросит пользователя согласиться поделиться своей датой рождения при подключении к Facebook.
У меня это тоже сработало. Обратите внимание на проблему в socialite2.0 для laravel 5.2 Просто скачайте и обновите код. https://github.com/laravel/socialite/blob/2.0/src/Two/FacebookProvider.php