Android和Facebook SDK:从/ me /图片图形调用解码图片

Azi*_*ule 16 android json facebook facebook-graph-api facebook-android-sdk

编辑:Anwser在这篇文章的最后.

由于内置的​​Facebook SDK功能,我试图获得Facebook用户的个人资料图片Request().

我正在使用/me/picture调用来获取个人资料图片并将其转换为Bitmap.

该调用工作正常,但我不知道如何解释和解析从Facebook返回的结果

这是JSON我得到的:

{"FACEBOOK_NON_JSON_RESULT":" \u0000\u0010JFIF\u0000\u0001\u0002\u0000\u0000\u0001\u0000\u0001\u0000\u0000\u0000\u0000\u0004*\u0000\\ u0000C\u0000\u0000\u0006\u0004\u0006\u0005\u0004\u0006\u0006\u0005\u0006\u0007\u0007\u0006\b"}

我认为这应该代表个人资料图片,但我现在不知道如何处理这个问题.

如果有人能告诉我如何解码它,将其转换为Bitmap或它是什么样的数据,我将不胜感激.

注意:我不想使用除Request()之外的任何其他函数,如DecodeStream()或AsyncTask


这是答案:

制作新内容时,Request()您需要将"redirect"参数添加到false:

Bundle params = new Bundle();
params.putBoolean("redirect", false);
Run Code Online (Sandbox Code Playgroud)

这将返回正确的图片网址:

{
"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"
   }
}
Run Code Online (Sandbox Code Playgroud)

VVB*_*VVB 3

尝试这个 :

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);
Run Code Online (Sandbox Code Playgroud)

其中 ID 是您的个人资料 ID。

有关更多详细信息,请检查此:

https://developers.facebook.com/docs/graph-api