簡體   English   中英

使用 Socialite Laravel 檢索 Facebook 用戶詳細信息

[英]Retrieve Facebook user details with using Socialite Laravel

我使用的是 Laravel 5.4.36 版,我使用Laravel Sociallite 插件將用戶與 Facebook 聯系起來。

現在,我想獲取登錄用戶信息,例如出生日期性別、地址、手機號碼或此 Facebook 官方文檔中給出的任何權限

我試過下面的代碼

$facebookScope = [
        'user_birthday',
        'user_location',
];
$facebookFields = [
        'name', // Default
        'email', // Default
        'gender', // Default
        'birthday', // I've given permission
        'location', // I've given permission
];
return Socialite::driver('facebook')->fields($facebookFields)->scopes($facebookScope)->redirect();

現在,當我使用 Facebook 按鈕單擊登錄時,它會顯示如下錯誤

無效范圍:user_birthday、user_location。 此消息僅向開發人員顯示。 您的應用程序的用戶將忽略這些權限(如果存在)。 請閱讀https://developers.facebook.com/docs/facebook-login/permissions 上的有效權限文檔

我嘗試了不同的范圍,例如字段名稱 = 年齡和范圍 = user_age_range 字段名稱 = 生日和范圍名稱 = user_birthday 字段名稱 = 朋友和字段名稱 = user_friends

對於我使用的每個范圍,我都會收到無效范圍的錯誤。 在此處輸入圖片說明

難道我做錯了什么? 我是否需要更改為登錄而創建的 Facebook 應用程序中的某些內容?

請建議。

好吧,事實證明這畢竟與審查有關 - 如果只是間接的。

您現在需要讓您的應用程序處於“開發”模式,以便能夠向在應用程序中具有角色的人詢問這些權限。

一旦您將其設置為“實時”,即使您使用管理員或開發人員帳戶進行測試,它也會顯示“無效范圍”錯誤。

錯誤消息的措辭在這方面有點誤導/不走運。

您需要在 facebook 應用程序頁面上明確聲明您需要的范圍。 打開您的https://developers.facebook.com/apps/儀表板,轉到應用審查並提交您需要范圍的項目。 之后,您需要遵守 facebook 請求,通常涉及登錄流程和功能使用的屏幕截圖。

請注意,此過程需要相當長的時間。 我創建的一些應用程序計划在 8 月初進行審核。

user_birthday , user_location , user_friends還有很多其他范圍需要從 facebook 審查才能提供給公共用戶。 但是,您可以將這些范圍用於開發人員和測試用戶帳戶。

https://developers.facebook.com/docs/apps/review/

此錯誤是因為 facebook 已更新您正在尋找的新權限,請參閱最新權限此文檔顯示最新權限並更新您的https://developers.facebook.com/docs/facebook-login/permissions

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM