gpt4 book ai didi

facebook - Laravel 社交名流 : always grab default avatar

转载 作者:行者123 更新时间:2023-12-02 19:13:37 26 4
gpt4 key购买 nike

我允许用户使用 Scialite 注册(仍在启用 openSSL 的 Laravel homestead 上本地工作)。它与 FB 配合得很好,除了头像它总是获得默认图像。我正在使用创建应用程序的同一 FB 帐户进行测试(FB 应用程序处于开发模式)

enter image description here

代码

public function handleProviderCallback($provider)
{
$userSocial = Socialite::driver($provider)->user();
$users = User::where(['email' => $userSocial->getEmail()])->first();
if($users){
Auth::login($users);
return redirect('/');
}else{
$avatar_file_name = 'test';
if(!empty($userSocial->getAvatar()) && $userSocial->getAvatar()!='' && $userSocial->getAvatar() != null)
{
$fileContents = file_get_contents($userSocial->getAvatar());
File::put(public_path() . '/uploads/' . $userSocial->getId() . ".jpg", $fileContents);
$avatar_file_name = $userSocial->getId() . ".jpg";
}

$user = User::create([
'name' => $userSocial->getName(),
'email' => $userSocial->getEmail(),
'avatar' => $avatar_file_name,
'provider_id' => $userSocial->getId(),
'provider' => $provider,
]);
Auth::login($user, true);
return redirect()->route('home');
}
}

当我 dd($userSocial->getAvatar()) 并复制 URL 时,它会打开默认头像(上图),这是为什么?我需要对 FB 应用程序或登录代码执行什么操作才能获取用户的真实头像吗?

最佳答案

我现在也遇到这个问题了。大约一个月前,社交名流头像检索工作正常。但前几天检查的时候就坏了。因此,当前的解决方案只是附加 access_token 来检索图像,如下所示。

https://graph.facebook.com/v3.3/[facebook_user_id]/picture?type=normal&access_token=[fbtoken]

如果您找到更简单的解决方案,请告诉我。

结果是:

enter image description here

关于facebook - Laravel 社交名流 : always grab default avatar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63935897/

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