我目前正在收到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");
答案 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