django python social auth get facebook email

时间:2015-09-25 09:33:07

标签: django facebook python-social-auth

我正在使用python social auth与facebook连接,但我没有收到用户的电子邮件 在我的设置中,我添加了:

SOCIAL_AUTH_FACEBOOK_SCOPE = ['email',]
SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS = {
 'fields': 'id, name, email, age_range'
}

我编写了自定义管道来获取用户的电子邮件:

def create_user_profile(strategy, details, response, user=None, *args, **kwargs):
    print(kwargs['response'].get('name'))

我无法收到用户的电子邮件

我如何获得用户的电子邮件。需要建议

1 个答案:

答案 0 :(得分:1)

据我所知,email未包含在基本范围内。这就是为什么你需要明确表明你也想要电子邮件的原因。

在您的设置文件中执行以下操作:

SOCIAL_AUTH_FACEBOOK_SCOPE = ['email']

并尝试通过Facebook注册用户。他将被问及是否同意授予这些权限,包括电子邮件。如果他同意,您将在response['email']

收到他的电子邮件