使用Parse与Facebook登录/注册时丢失电子邮件

时间:2015-03-07 07:31:13

标签: ios facebook email parse-platform parseui

我正在使用ParseUI框架的PFLogInViewController。我在框架内有关于Facebook登录的电子邮件有两个问题:

1)通过Facebook注册时,我发现新用户的电子邮件字段未定义。'如何获取用户的电子邮件地址?

2)如果我能够获得该电子邮件地址,请解析' emailRerified'的应用程序设置。 Facebook注册后仍会向用户发送验证邮件?如果没有,怎么办呢?

感谢。

1 个答案:

答案 0 :(得分: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登录。