Facebook SDK 3.0: how to receive user's e-mail? Facebook SDK 3.0: how to receive user's e-mail? ios ios

Facebook SDK 3.0: how to receive user's e-mail?


if (FBSession.activeSession.isOpen) {    [[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {         if (!error) {             self.nameLabel.text = user.name;             self.emailLabel.text = [user objectForKey:@"email"];         }     }];}

Because FBGraphUser doesn't have an email @property, we can't access the information like with the name (dot-syntax), however the NSDictionary still has the email kv-pair and we can access it like we would do with a normal NSDictionary.

Don't forget to ask for the email permission though:

NSArray *permissions = [[NSArray alloc] initWithObjects:@"email", nil];[FBSession sessionOpenWithPermissions:permissions completionHandler: ^(FBSession *session, FBSessionState state, NSError *error) {     [self facebookSessionStateChanged:session state:state error:error]; }];


Once you have access to (id<FBGraphUser>)user, you could simply use, user[@"email"].


from this we can get facebook user's basic info and email id.

[FBSession openActiveSessionWithReadPermissions:@[@"basic_info",@"email"] allowLoginUI:YES completionHandler:^(FBSession *session,FBSessionState status,NSError *error){        if(error)        {            NSLog(@"Facebook Error : %@",error.localizedDescription);        }        else{        }        // Respond to session state changes,        // ex: updating the view    }];