2014-10-01 1 views
2

Я использую Facebook SDK v.3.18.2FBRequest не возвращает пользователя дата рождения

Я только хочет имя пользователя, фамилию, адрес электронной почты и дату рождения, Я получаю все, кроме даты рождение.

Я уверен, что неправильно с разрешения? Не уверен.

Вот код, чтобы помочь вам узнать мою проблему,

[FBSession openActiveSessionWithReadPermissions:@[@"public_profile"] allowLoginUI:YES completionHandler: 
    ^(FBSession *session, FBSessionState state, NSError *error) { 
     // Call the sessionStateChanged:state:error method to handle session state changes 
     [self sessionStateChanged:session state:state error:error]; 
    }]; 

// This method will handle ALL the session state changes in the app 
- (void)sessionStateChanged:(FBSession *)session state:(FBSessionState) state error:(NSError  *)error 
{ 
    // If the session was opened successfully 
    if (!error && state == FBSessionStateOpen){ 
     NSLog(@"Session opened"); 
     if (FBSession.activeSession.isOpen) { 

//   This is not working though I'm putting it as comment 
//   [[FBRequest requestForMe] startWithCompletionHandler: 
//    ^(FBRequestConnection *connection, 
//    NSDictionary<FBGraphUser> *user, 
//    NSError *error) { 
//     if (!error) { 
//      NSLog(@"User Info : %@",user); 
//     } 
//    }]; 

     [[FBRequest requestForGraphPath:@"me"] startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
      NSLog(@"%@",result); 
     }]; 
    } 
    return; 
} 

Вот Выход Вход:

{ 
    email = "[email protected]"; 
    "first_name" = Hemang; 
    gender = male; 
    id = someId; 
    "last_name" = Shah; 
    link = "https://www.facebook.com/app_scoped_user_id/someId/"; 
    locale = "en_US"; 
    name = "Hemang Shah"; 
    timezone = "5.5"; 
    "updated_time" = "some date and time"; 
    verified = 1; 
} 

Но дата рождения отсутствует, я его установить в моем профиле тоже.

Update:

Пробовал со следующими разрешениями НЕ РАБОТАЛ!

"user_birthdate" или "день рождения"

ответ

0

вы должны попросить "user_birthday" вместе с public_profile.

Подробнее here на facebook Docs

запрос Публичный профиль охватывает

  • идентификатор
  • имя
  • first_name
  • last_name
  • ссылка
  • пол
  • локаль
  • age_range

Обратите внимание, что вы будете иметь, чтобы получить ваше приложение пересмотрено, если вы попросите какого-либо дополнительного разрешения, кроме по умолчанию общедоступный профиль.

2
[FBSession openActiveSessionWithReadPermissions:@[@"email",@"user_birthday",@"public_profile"] 
            allowLoginUI:YES 
           completionHandler:^(FBSession *session, FBSessionState state, NSError *error) { 

            switch (state) { 
             case FBSessionStateOpen: 
              [[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) { 
               if (error) { 

                NSLog(@"error:%@",error); 


               } 
               else 
               { 
                // retrive user's details at here as shown below 
                NSLog(@"FB user first name:%@",user.first_name); 
                NSLog(@"FB user last name:%@",user.last_name); 
                NSLog(@"FB user birthday:%@",user.birthday); 
                NSLog(@"FB user location:%@",user.location);              NSLog(@"FB user gender:%@",[user objectForKey:@"gender"]); 
                NSLog(@"email id:%@",[user objectForKey:@"email"]); 
                NSLog(@"location:%@", [NSString stringWithFormat:@"Location: %@\n\n", 
                     user.location[@"name"]]); 

               } 
              }]; 
              break; 

             case FBSessionStateClosed: 
             case FBSessionStateClosedLoginFailed: 
              [FBSession.activeSession closeAndClearTokenInformation]; 
              break; 

             default: 
              break; 
            } 

           } ]; 

нужно реф: use this link

выход консоли: enter image description here

я прикрепил пример проекта и убедитесь, что - (IBAction)loginwithCustomButaction:(id)senderthe project link

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

  • Нет связанных вопросов^_^