从Facebook帖子获取更大的图像?

时间:2014-06-20 03:04:39

标签: android facebook facebook-graph-api

我目前正在收到Facebook用户的新闻源。目前,我只能检索与链接相关联的缩略图图像,而不是全尺寸图像。有谁知道如何获得更大的图像?

我查看了以下帖子并尝试了他们的解决方案;然而,这些帖子似乎已经过时了,facebook图表api似乎已经发生了变化:

Facebook Graph API Change: Picture type (size) no longer working?

Facebook API post: How to get larger thumbnail?

请注意我在我/家边缘,所以下面的答案会返回错误。见下面的评论。

我的代码是:

params.putString("fields","id,actions,application,caption,created_time,description,from,link,message,message_tags,"
        + "name,object_id,picture,place,source,status_type,story,updated_time,type,status_type,story,to,type,"
        + "updated_time,with_tags");

4 个答案:

答案 0 :(得分:1)

更改为:

params.putString("fields","id,actions,application,caption,created_time,description,from,link,message,message_tags,"
        + "name,object_id,full_picture,place,source,status_type,story,updated_time,type,status_type,story,to,type,"
        + "updated_time,with_tags");

此处picture.height(1000)会为您提供一张大图片。并且您可以设置自己所需的大小但me/home我不经常搜索它。

对于测试目的,请使用以下链接:Facebook graph explorer

答案 1 :(得分:1)

最终我找到了这个解决方案:

1)找到较大图片的网址(参见下面的代码)

2)从URL获取位图并添加到应用程序UI。

上面提到的代码:

private String getRealURL(String smallURL){
   if (smallURL.contains("url=http")){
       String[] pieces = smallURL.split("url=");
       pieces[1].replace("%2F", "//");
       pieces[1].replace("%3A", ":");
       Log.e("RealURL1:", pieces[1]);
       return pieces[1];           
   }
   else{
       StringBuilder stringBuilder = new StringBuilder();
       stringBuilder.setLength(0);
       stringBuilder.append("https://graph.facebook.com/");
       stringBuilder.append(item.getObjectID());
       stringBuilder.append("/picture?type=normal&access_token=");
       stringBuilder.append(Session.getActiveSession().getAccessToken());
       Log.e("RealURL2:", stringBuilder.toString());
       return stringBuilder.toString();
   }
}

答案 2 :(得分:0)

只需使用此字段?field = full_picture而不是图片。

答案 3 :(得分:0)

?field = full_picture是让它立即运行的唯一方法。我一直在寻找,最后在这里找到答案。图片字段不再支持子字段,因此您无法再使用picture.width.height