在 Facebook 上使用 ParseUI 时丢失电子邮件 login/signup
Missing e-mail when using ParseUI with Facebook login/signup
我正在使用 ParseUI 框架的 PFLogInViewController。我有两个关于框架内 Facebook 登录电子邮件的问题:
1) 通过 Facebook 注册时,我看到新用户的电子邮件字段是 'undefined.' 如何获取用户的电子邮件地址?
2) 如果我能够获取电子邮件地址,parse 的应用程序设置 'emailVerified' 是否仍会在 Facebook 注册时向用户发送验证电子邮件?如果不行,怎么办?
谢谢。
为了读取用户的电子邮件地址,您需要将电子邮件添加到您请求的 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 登录时。
我正在使用 ParseUI 框架的 PFLogInViewController。我有两个关于框架内 Facebook 登录电子邮件的问题:
1) 通过 Facebook 注册时,我看到新用户的电子邮件字段是 'undefined.' 如何获取用户的电子邮件地址?
2) 如果我能够获取电子邮件地址,parse 的应用程序设置 'emailVerified' 是否仍会在 Facebook 注册时向用户发送验证电子邮件?如果不行,怎么办?
谢谢。
为了读取用户的电子邮件地址,您需要将电子邮件添加到您请求的 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 登录时。