2012-06-04 18 views
5

Estoy haciendo la siguiente solicitud simple a Facebook. Mi objetivo es captar los nombres de todos los álbumes de fotos de un usuario:¿Cómo obtener álbumes de fotos de Facebook para iOS?

[[AppDelegate sharedDelegate].facebook requestWithGraphPath:@"me/albums" andDelegate:[AppDelegate sharedDelegate]]; 

Entonces, consigo una respuesta JSON desde el servidor, como por ejemplo:

data =  (
      { 
     "can_upload" = 1; 
     count = 4; 
     "cover_photo" = 321491374598618; 
     "created_time" = "2012-06-04T21:46:23+0000"; 
     from =    { 
      id = 100002132746588; 
      name = "Owner...."; 
     }; 
     id = 321491371265285; 
     link = "http://www.facebook.com/album.php?fbid=321491371265285&id=100002132746588&aid=73680"; 
     name = "Photos"; 
     privacy = custom; 
     type = normal; 
     "updated_time" = "2012-06-04T22:08:39+0000"; 
    }, 
      { 
     "can_upload" = 0; 
     count = 1; 
     "cover_photo" = 318401854907570; 
     "created_time" = "2012-05-31T00:00:35+0000"; 
     description = "Which Friend Stalks You the Most?"; 
     from =    { 
      id = 100002132746588; 
      name = "Owner...."; 
     }; 
     id = 318401848240904; 
     link = "http://www.facebook.com/album.php?fbid=318401848240904&id=100002132746588&aid=73163"; 
     name = "Which Friend Stalks You the Most?"; 
     privacy = friends; 
     type = normal; 
     "updated_time" = "2012-05-31T00:00:36+0000"; 
    }, 

Y así sucesivamente. El problema es que cuando intento para analizar los datos con:

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

me sale null. Supongo que esto está sucediendo porque el NSDictionary en el que se devuelven los datos no sabe en qué entrada name se debe concentrar. ¿Cómo puedo analizar los datos para que obtenga los nombres de todos los los álbumes?

+0

Lee mi respuesta puede ser conseguir su solución ..... http: //stackoverflow.com/questions/30207465/ios-facebook-album-photos-picker/31789234#31789234 –

Respuesta

3

"número" es en realidad una serie de diccionarios, de modo de bucle a través de la matriz y a continuación, coger nombre de cada elemento de la matriz.

for (NSDictionary *anAlbum in [result objectForKey:@"data"]) { 
    NSLog(@"%@", [anAlbum objectForKey:@"name"]); 
} 
+0

Gracias por su respuesta. Probé el código anterior, que tiene mucho sentido, pero obtuve el siguiente error: '[__NSCFString objectForKey:]: selector no reconocido enviado a la instancia 0x898d320'. Parece que cuando se analiza, cada diccionario es en realidad un 'NSCFString'. –

+0

Bien, ejecute este código y publique la salida: para (NSDictionary * anAlbum in result) { NSLog (@ "% @", anAlbum); } –

+0

Aquí está la salida: 'datos', y luego en una nueva línea' paginación'. 'data' es una entrada en la parte superior de la salida JSON, y' paging' está en la parte inferior. –

Cuestiones relacionadas