使用 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

如何在GHC-8.2.2和Cabal-2.0.0.1中使用Text.Parsec

Parsec:回溯不起作用

Haskell语言学习笔记(46)Parsec

PARSEC測试集的应用领域和working set的大小

在沙箱中安装了 parsec,但在 ghci 中尝试加载文件时找不到库