Velruse Facebook 个人资料没有电子邮件
Velruse Facebook profile has no email
我正在使用 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 用户设置,还是我的代码中缺少某些内容?
Facebook states that the email is information approved by default for my app
email
scope/permission 不需要登录审核,但您必须将其作为身份验证流程的一部分进行请求,以便系统提示用户与您的应用程序共享。
用户可能会拒绝您访问其电子邮件的请求。此外,一些用户使用 phone 号码登录,可能根本没有 Facebook 存档的电子邮件地址。
简短回答:一些用户不会提供或收到电子邮件。您的应用程序需要考虑到这一点。
我正在使用 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 用户设置,还是我的代码中缺少某些内容?
Facebook states that the email is information approved by default for my app
email
scope/permission 不需要登录审核,但您必须将其作为身份验证流程的一部分进行请求,以便系统提示用户与您的应用程序共享。
用户可能会拒绝您访问其电子邮件的请求。此外,一些用户使用 phone 号码登录,可能根本没有 Facebook 存档的电子邮件地址。
简短回答:一些用户不会提供或收到电子邮件。您的应用程序需要考虑到这一点。