2015-07-08 5 views
1

Я пытался интегрироваться с Facebook SDK для входа в систему, а затем получить данные пользователя. поэтому я использую этот метод после аутентификации, чтобы получить детали пользователя.Parse Json из Facebook

if ([FBSDKAccessToken currentAccessToken]) { 
    [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil] 
    startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
     if (!error) { 
      NSLog(@"fetched user:%@", result); 
     } 
    }]; 
} 

И данные я получаю:

2015-07-08 14:02:40.502 Auth-App[whatever] fetched user:{ 
    "first_name" = Lol; 
    gender = male; 
    id = 12345; 
    "last_name" = Ak; 
    link = "https://www.facebook.com/...../...."; 
    locale = "en_US"; 
    name = "Lol Ak"; 
    timezone = 4; 
    "updated_time" = "2015-07-08T10:22:32+0000"; 
    verified = 1; 
} 

мне нужно прочитать этот массив, а затем отобразить его в текстовых полях. Я попытался использовать результаты [0], чтобы получить первый элемент в массиве, но он не сработал.

ответ

1

попробовать этот способ получить доступ к данным из словаря

NSLog("%@",[result objectForKey:@"id"]); 
NSLog("%@",[result objectForKey:@"first_name"]); 
NSLog("%@",[result objectForKey:@"name"]); 

же, как читать все поля (ключ/значение) пар. И установить ваши TextFields

+0

Окей велика, но она возвращает: 'идентификатор = 12345', как можно получить только номер? без 'id ='? –

+1

NSLog ("% @", [result objectForKey: @ "id"]); попробуйте этот путь. просто «id =» label @NataMio –

0

Пожалуйста, поставьте две строки код

NSDictionary *array=[request.responseString JSONValue]; 
yourtextfield.text=[array valueForKey:@"first_name"]; 
+0

У меня нет такого request.responceString в моем коде? –