I’ve got the same problem. I mapped the properties like this:
[backendless.userService easyLoginWithFacebookFieldsMapping:@{@“id”:@“id”,@“name”:@“name”,@“first_name”:@“firstName”,@“last_name”:@“lastName”,@“gender”:@“gender”,@“email”:@“email”…
I was logged out on facebook on my iPhone, then I tried to login with the method above. It worked but the mapping from the email was wrong. I printed out the log of the user object (BackendlessUser *user = [backendless.userService handleOpenURL:url]
created = "Mon Sep 26 14:23:18 UTC 2016";
email = 91402...;
firstName = Daniel;
gender = male;
id = 91402...;
lastLogin = "Mon Sep 26 15:32:33 UTC 2016";
lastName = Z...;
name = "D...";
objectId = "B57C...";
ownerId = "B57C...";
updated = "<null>";
"user-token" = "F9D...";
The email is the same as the id. The same is shown in the webinterface. The email property has the data of the id. Thanks for your help!
Sorry for the delay in responding Mark.
I can’t get this kind of information because my account works well. I have to ask a favor to an user but I think that it’s not a good idea because you need email and password to access
Hi Slava, I have the latest SDK installed and I have used the method in your link (we talked about some days ago) but I’m still getting the same error, some users have Facebook ID in the email field
Great news! I just found the reason why this problem occurs.
In this link (https://github.com/mkdynamic/omniauth-facebook/issues/61) other people have found the same problem and the reason is because of some “strange and different” user settings.
The most important comment is:
“Some possible reasons:
No Email address on account
No confirmed email address on account
No verified email address on account
User entered a security checkpoint which required them to reconfirm their email address and they have not yet done so
Users’s email address is unreachable”
And I add the possibility to register to Facebook without the email but with the phone number, as Servey Chupov said in a reply to this post.
So, the best workaround is to check if the email field contains a valid email and, if not, show to the user something to let him enter a valid email.