2012-06-04 20 views
7

Estoy teniendo problemas tratando de solicitar la versión grande de la imagen del perfil de usuarios en Facebook .. en mi camino gráfica que estoy haciendo:perfil de Facebook de imagen grande

NSString *requestPath = @"me/?fields=first_name,last_name,gender,email,birthday,verified,picture"; 

El campo de imagen allí sólo me da la versión pequeña de la imagen de perfil, pero necesito la versión grande y la normal ... ya traté de cambiar la imagen a picture_large, pic_large, image_large pero nada de esto funciona ...

Por favor, ya leí la documentación, por lo no se moleste en responder si planea decirme que lo lea de nuevo. Estoy preguntando esto aquí porque ya busqué en todas partes y no pude encuentra una solución.

Gracias, Newton

Respuesta

19

sólo puede utilizar:

http://graph.facebook.com/USER/picture?type=large 

Dónde USUARIO puede ser o bien el ID de usuario o el nombre de usuario.

que devuelve una redirección a la URL de la imagen estática, como está escrito en el User object documentation:

HTTP 302 redirección a la URL de la imagen en el perfil del usuario (use type = square | pequeña | normales | grande para? solicita una foto diferente).

+0

Sé que esto funciona en la web, pero no estoy haciendo una solicitud http, estoy trabajando con iOS, entonces necesito usar la notación que mencioné en mi pregunta ... gracias por la respuesta –

+0

I don No veo cómo es eso relevante. En lugar de solicitar la imagen de la API, pregunte por todo lo demás y luego simplemente agregue a los datos devueltos estas dos cadenas de URL: 'http: //graph.facebook.com/USER/picture? Type = normal' y' http: //graph.facebook.com/USER/picture? type = large'. Puedes usar esas urls, como cualquier otra. –

+0

Sr. ApplrBR, ¿puedo saber cómo obtener datos de imágenes sin una solicitud http/https? – Venu

6

La respuesta de Nitzan Tomer sigue siendo correcta para iOS; Si desea obtener la versión grande de la imagen del perfil del usuario utilizando la API de iOS de Facebook, se puede escribir:

[facebook requestWithGraphPath:@"me/picture" andParams:[NSMutableDictionary dictionaryWithObject:@"large" forKey:@"type"] andDelegate:self]; 

Y obtendrá los datos de la imagen en el objeto resultado, en este método delegado:

- (void)request:(FBRequest*)request didLoad:(id)result 
+0

Gracias hombre ... funciona –

+0

Muchas gracias. ¡Esto es genial! –

31

la respuesta corta que busca es picture.type(large)

que estaba buscando lo mismo y encontré la respuesta usando Facebook Graph explorer API encontrado here.

Ahora si uso el siguiente código:

[FBRequestConnection startWithGraphPath:@"me" 
          parameters:[NSDictionary dictionaryWithObject:@"picture.type(large),id,email,name,username" 
                    forKey:@"fields"] 
          HTTPMethod:@"GET" 
         completionHandler:^(FBRequestConnection *connection, id result, NSError *error){[self fbRequestCompleted:result];}]; 

la tecla "foto" en el diccionario "número" tiene el valor de la dirección URL de la imagen grande.

+0

¡Genial! Muchas gracias amigo! – EmptyStack

+0

Hola Murat .... picture.type (large) funciona a la perfección pero todavía no pude encontrar una manera de obtener la imagen como pic = height = 320 & width = 320 .... me trae una URL "nula". ¿Hay alguna manera de obtener una imagen cuadrada ya que necesito usar NSDictionary como lo usaste para los parámetros? –

+0

Esto es exactamente lo que estaba buscando, gracias. – Ankit

Cuestiones relacionadas