2015-04-12 2 views
0

Я использую facebook sdk 3.0, однако я столкнулся с трудностями, когда я пытаюсь получить информацию пользователя, как электронная почта и т.д.facebook SDK ИОС получить информацию о пользователе

Мой код:

- (IBAction)fbLogin:(id)sender { 

    [self facebookLogin]; 
} 

-(void) facebookLogin 
{ 

[FBSession openActiveSessionWithReadPermissions:@[@"email"] 
    allowLoginUI:YES 
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) { 
    switch (state) { 
     case FBSessionStateOpen: 
      [[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *FBuser, NSError *error) { 
       if (error) { 
       } 
       else { 
        name = [FBuser name]; 
        email = [FBuser objectForKey:@"email"]; 
        pic = [NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large", [FBuser objectID]]; 
       } 
      }]; 
      [self checkUser]; 
      break; 
    } 
}]; 
} 

Мой код открывает вход в Facebook и запрашивает авторизацию, но после этого он возвращается в мое приложение, которое показывает/ничего не получает с этим. Я диагностировал через точки разрыва и обнаружил, что после строки switch (state) он просто выходит без предоставления какой-либо информации.

Мой вопрос: как я могу получить электронное письмо пользователя через facebook sdk 3.0.

ответ

1

добавить ниже приложение делегата:

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 
{ 
     return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication]; 

} 

не забудьте импортировать заголовок:

#import "FacebookSDK.h" 
+0

'если (состояние == FBSessionStateOpen)' после этого точки останова, выход потока. – developer

+0

вы можете проверить, есть ли у вас действующий сеанс? и скажи мне, что у тебя есть! Я отредактирую свой ответ, чтобы добавить метод, который проверяет действительный сеанс! Или какой у вас статус? – Atrash

+0

Позвольте мне проверить и признать вас. – developer

Смежные вопросы