提问者:小点点

Laravel 5.2社交名媛检索空电子邮件


我是拉威尔的新手,我想成为一名社会作家。我看过一些教程,我必须从Facebook上检索用户id、个人资料图片和姓名。我的问题是电子邮件,它是空的。

我目前的目标是:

User {#195 ▼
  +token: "EAACYY1xBrzcBAO9KZAjZAZAZBQHWhbtZAb9lIXvH9Y6miRUiABImupk3ZCzHRxy2ZBxc9DU8f1ZAcrw0NEVMmy3GOQMSSyrmDTvMPyREvGm4pA1Ok6zI85LxES4Huy2ZCsxIUr2ISbLreLIv1ZACItUUoqqAnvVPyR4s0ZD"
  +id: "989087311199546"
  +nickname: null
  +name: "MyName"
  +email: null
  +avatar: "https://graph.facebook.com/v2.2/mypicturecode/picture?type=normal"
  +"user": array:2 [▼
    "name" => "MyName"
    "id" => "MyId"
  ]
}

我的控制器是:

class FacebookController extends Controller
{
   public function facebook()
    {
        return Socialite::driver('facebook')
            ->scopes(['email'])->redirect();
    }
    public function callback()
    {
        $user = Socialite::with('facebook')->user();

        return dd($user);
        // $user->token;
    }
}

我最近发现了一些东西。我的composer中有“guzzlehttp/guzzle”:“~4.0”以避免cURL错误60:SSL证书问题:无法获取本地颁发者证书(请参阅http://curl.haxx.se/libcurl/c/libcurl-errors.html)错误。安装guzzle 4.0后,Laravel社交名流将返回2.0。4版本。看起来像是2.0。18版本处理电子邮件和名字/姓氏问题。问题是安装guzzle 4.0时,需要社交名流2.0。4.


共3个答案

匿名用户

Facebook用户可以使用电话号码而不是电子邮件地址进行注册。这意味着facebook没有该用户的电子邮件地址。

你可能有自己的隐私政策。

看看这个:https://developers.facebook.com/docs/facebook-login/permissions#reference-电子邮件

匿名用户

如果你使用laravel 5.2和社会名流2.0。那么你就会面临这个问题。这是社会名流中的一个错误。用下面给出的代码替换它。路径:供应商\laravel\社会名流\src\两个\

https://github.com/laravel/socialite/blob/2.0/src/Two/FacebookProvider.php那么下面的代码将为您提供完整的详细信息return Socialite::driver('facebook'))-

匿名用户