Отсутствует электронная почта при использовании ParseUI с входом / регистрацией в Facebook
Я использую PFLogInViewController инфраструктуры ParseUI. У меня есть два вопроса, связанных с электронными письмами относительно Facebook Login в рамках:
1) При регистрации через Facebook я вижу, что поле электронной почты моего нового пользователя "неопределено". Как я могу получить адрес электронной почты пользователя?
2) Если мне удастся получить адрес электронной почты, отправляет ли приложение parse настройку "emailVerified" по-прежнему отправлять подтверждение по электронной почте пользователю при регистрации в Facebook? Если нет, как это можно сделать?
Благодарю.
1 ответ
Чтобы прочитать адрес электронной почты пользователя, вам нужно добавить адрес электронной почты в ваш массив разрешений Facebook, которые вы запрашиваете. Посмотрите учебник Parse на этом https://www.parse.com/tutorials/login-and-signup-views
В вашем случае вы захотите добавить @"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
}
}
}];
Что касается второй части вашего вопроса, я не настолько знаком с функциональностью проверки электронной почты, которую поддерживает Parse, но смотрю на этот (по общему признанию) старый ответ https://www.parse.com/questions/email-verification-emails-going-out-to-facebook-users кажется, что Parse будет проверять адреса электронной почты, даже когда пользователь входит в систему с Facebook.