Facebook api getEmail()无效

时间:2016-01-09 05:33:49

标签: php facebook-graph-api laravel-5

我正在使用laravel 5 Socialite并创建社交登录https://github.com/laravel/socialite。 当我使用这个功能时,当我遇到这个$facebook->getEmail(); 我收到的电子邮件是空的

 public function FacebookInfo()
    {
        $facebook = Socialite::driver('facebook')->user();
        $user= new User();
        $user-> username =$facebook->getNickname();
        $user-> full_name =$facebook->getName();
        $user-> avatar=$facebook->getAvatar();
        $user-> email =$facebook->getEmail();
        $user-> remember_token =$facebook->token;
        $user ->level=1;
        $user-> total_post = 0;
        $user->save();
        return redirect()->intended('/');
    }

那么对这个问题有任何建议吗?先谢谢

1 个答案:

答案 0 :(得分:0)

你必须提到你想要从Facebook获得的所有领域。您可以通过在重定向到Facebook进行身份验证时添加scope来执行此操作,如下所示

return Socialite::driver('facebook')->scopes(['public_profile','email', 'user_friends'])->redirect();

您可以详细了解Facebook权限here

<强> P.S 即可。现在,Facebook还允许手机号码创建帐户而不是电子邮件。在这种情况下,你不会收到电子邮件!!!