Velruse Facebook的个人资料没有电子邮件

时间:2015-07-07 23:08:54

标签: facebook-graph-api pyramid

我使用Pyramid和Velruse对​​用户进行身份验证,当用户尝试通过Facebook进行身份验证时,我发现了一个异常。这里的错误是KeyError: 'verifiedEmail'

// Callback view for Facebook.
@view_config(                                                                   
    context='velruse.AuthenticationComplete',                                   
)                                                                           
def authenticate_complete(request):                                             
    context = request.context
    email = context.profile['verifiedEmail']
    ...

查看Velruse code似乎Facebook个人资料可能不包含电子邮件信息,尽管Facebook声明该电子邮件是我的应用默认批准的信息。

这里出了什么问题?这是我可能必须处理的Facebook用户设置,还是我的代码中缺少的东西?

1 个答案:

答案 0 :(得分:3)

  

Facebook声明该电子邮件是我的应用默认批准的信息

email范围/权限不需要登录审核,但您必须在身份验证流程中请求它,以便提示用户与您的应用程序共享它。

用户可以拒绝您访问其电子邮件的请求。此外,一些用户使用手机号码登录,并且可能没有Facebook上的电子邮件地址。

简短回答:有些用户不会给予或收到电子邮件。您的应用程序需要考虑到这一点。