Я пытаюсь получить хотя бы идентификатор, имя пользователя и адрес электронной почты от вошедшего в систему пользователя Facebook. Сначала я вхожу в систему, используя тип разрешения: Электронная почта. И если это удалось, попробуйте получить FBSDKGraphRequest, который возвращает все возможные значения, кроме электронной почты.
Я также пытался добавить разрешения, такие как public_profile, но в любом случае я не получаю электронную почту. Я посмотрел на панель инструментов разработчиков, и электронная почта, похоже, одобрена по умолчанию.
FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
[loginManager logInWithReadPermissions:@[@"email"] fromViewController:self handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
return;
} else if (result.isCancelled) {
return;
}
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id, name, gender, first_name, last_name, locale, email"}];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
return;
}
NSLog(@"Fetched user: %@", result);
}];
}];