Android y Facebook SDK: decodificación de imágenes de/me/picture graph call
json facebook-graph-api (1)
EDIT: Anwser al final de este post.
Estoy intentando obtener la imagen de perfil de un usuario de Facebook gracias a la función incorporada Request()
SDK) de Facebook SDK.
Estoy usando una llamada de /me/picture
para obtener la imagen de perfil y convertirla en un Bitmap
.
La llamada funciona bien, pero no sé cómo interpretar y analizar el resultado devuelto por Facebook.
Aquí está el JSON
que obtengo:
{"FACEBOOK_NON_JSON_RESULT": " / u0000 / u0010JFIF / u0000 / u0001 / u0002 / u0000 / u0000 / u0000 / u0000 / u0000 / u0000 / u0000 / u0000 / u0000 / u0000 / u0000 / u0000 / u0000 / u0000 / u0000 / u000000000000000000000000008" u0006 / u0004 / u0005 / u0006 / u0005 / u0004 / u0006 / u0006 / u0005 / u0006 / u0007 / u0007 / u0006 / b "}
Creo que esto debería representar la imagen de perfil, pero no sé qué hacer con esto ahora.
Si alguien pudiera decirme cómo decodificarlo, convertirlo en un mapa de bits o qué tipo de datos es, se lo agradecería.
NOTAS: No quiero usar ninguna otra función que no sea Request (), como DecodeStream () o AsyncTask
Aquí está la respuesta:
Al realizar una nueva Request()
, debe agregar el parámetro "redireccionar" a false
:
Bundle params = new Bundle();
params.putBoolean("redirect", false);
Esto devolverá la URL correcta de la imagen:
{
"data":{
"is_silhouette":false,
"url":"https:////fbcdn-profile-a.akamaihd.net//hprofile-ak-xpa1//v//t1.0-1//p100x100//10312434_10152395442477210_2933994167675146084_n.jpg?oh=f3c8cb920c97fcfa4dc5e17462445cbf&oe=54404A3A&__gda__=1412730795_5f288e34e5f6e63cb1c3791dcb142880"
}
}
Prueba esto :
ImageView user_picture;
userpicture=(ImageView)findViewById(R.id.userpicture);
URL img_value = null;
img_value = new URL("http://graph.facebook.com/"+id+"/picture?type=large");
Bitmap mIcon1 = BitmapFactory.decodeStream(img_value.openConnection().getInputStream());
userpicture.setImageBitmap(mIcon1);
Donde ID es una ID de tu perfil.
Para más detalles verifique esto: