将ParseUI与Facebook登录/注册一起使用时缺少电子邮件



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

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

2) 如果我能够获得电子邮件地址,parse的"emailVerified"应用程序设置是否仍然会在Facebook注册时向用户发送验证电子邮件?如果没有,如何做到这一点?

谢谢。

为了读取用户的电子邮件地址,您需要将电子邮件添加到您请求的Facebook权限数组中。查看有关此的Parse教程https://www.parse.com/tutorials/login-and-signup-views#properties

在您的情况下,您需要添加@"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即使用户登录Facebook,Parse也会验证电子邮件地址。

最新更新