使用 ParseC 和 Facebook 登录/注册时缺少电子邮件
Posted
技术标签:
【中文标题】使用 ParseC 和 Facebook 登录/注册时缺少电子邮件【英文标题】:Missing e-mail when using ParseUI with Facebook login/signup 【发布时间】:2015-03-07 07:31:13 【问题描述】:我正在使用 ParseUI 框架的 PFLogInViewController。关于框架内的 Facebook 登录,我有两个与电子邮件相关的问题:
1) 通过 Facebook 注册时,我看到新用户的电子邮件字段为“未定义”。如何获取用户的邮箱地址?
2) 如果我能够获得电子邮件地址,parse 的“emailVerified”应用程序设置是否仍然会在 Facebook 注册时向用户发送验证电子邮件?如果没有,怎么办?
谢谢。
【问题讨论】:
【参考方案1】:为了读取用户的电子邮件地址,您需要将电子邮件添加到您请求的 Facebook 权限数组中。看看这个https://www.parse.com/tutorials/login-and-signup-views#properties的Parse教程
在您的情况下,您需要像这样添加@"email"
:
[logInViewController setFacebookPermissions:[NSArray arrayWithObjects:@"friends_about_me", @"email", nil]];
然后,当您从 Facebook 请求用户信息时,您将能够访问用户的电子邮件地址:
FBRequest *request = [FBRequest requestForMe];
[request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error)
if (!error)
// Now you can access user's email
NSString *email = result[@"email"];
if (email)
// Save it to your email field in Parse
];
关于您问题的第 2 部分,我对 Parse 支持的电子邮件验证功能不太熟悉,但看看这个(诚然旧的)回复 https://www.parse.com/questions/email-verification-emails-going-out-to-facebook-users 似乎 Parse 将验证电子邮件地址,即使用户登录加入 Facebook。
【讨论】:
工作得很好,关于我的第二个问题,一旦我提取电子邮件并将其添加到 PFUser,用户确实收到了一封验证电子邮件。谢谢!以上是关于使用 ParseC 和 Facebook 登录/注册时缺少电子邮件的主要内容,如果未能解决你的问题,请参考以下文章
facebook使用django app成功登录后重定向url