2017-10-18 77 views
0

我正在使用python-social-auth開發Django網絡應用程序。我有這個在我的Django的設置:python-social-auth Facebook和LinkedIn用戶的電子郵件爲空

SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = 'xxx' 
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = 'xxx' 

SOCIAL_AUTH_FACEBOOK_KEY = 'xxx' 
SOCIAL_AUTH_FACEBOOK_SECRET = 'xxx' 
SOCIAL_AUTH_FACEBOOK_SCOPE = ['email',] 

SOCIAL_AUTH_LINKEDIN_OAUTH2_KEY = 'xxx' 
SOCIAL_AUTH_LINKEDIN_OAUTH2_SECRET = 'xxx' 
SOCIAL_AUTH_LINKEDIN_OAUTH2_SCOPE = ['r_basicprofile', 'r_emailaddress'] 

現在,谷歌將用戶的電子郵件只是auth.user模型精細數據庫,但LinkedIn和Facebook甚至不會向用戶發送的電子郵件。我該怎麼辦?

回答

1

添加到您的設置:

SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS = {'fields': 'id,name,email',} 
SOCIAL_AUTH_FIELD_SELECTORS = ['email-address',] 

現在Facebook和LinkedIn將發送用戶的電子郵件和python-社會AUTH會自動將它們設置爲用戶模式在數據庫中。

希望這可以幫助別人。

相關問題