我是拉威尔的新手,我想成为一名社会作家。我看过一些教程,我必须从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.
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'))-