Facebook Graph高分辨率照片

时间:2013-03-12 02:01:10

标签: facebook facebook-graph-api

我正在为“me / home”进行Facebook Graph API调用,以获取用户的新闻Feed。众所周知,你在“图片”字段中获得的URL是一张低分辨率的照片,在100x100以上的任何地方看起来不太好。我知道你可以通过对“object_id”进行另一个图形调用并在该结果中使用“source”字段来获取高分辨率图片的URL。

但我正在查看网址,并认为可能有一种方法可以将一个转换为另一个而无需再进行另一个图形调用。要么是这样,要么从其他领域的现有数据构建高分辨率。例如,第一个URL是低分辨率的URL,第二个URL是源分辨率。

http://photos-d.ak.fbcdn.net/hphotos-ak-ash4/297313_10152643117455790_610095553_s.jpg
http://sphotos-b.xx.fbcdn.net/hphotos-ash4/297313_10152643117455790_610095553_n.jpg

看起来这些数字是(something I don't know)_("object_id")_(something else I don't know)

有没有人有尝试更改网址的经验,同时仍然保持数字部分在中间?是否存在可能导致正则表达式问题的变体?

编辑:这是我正在使用的代码。

String objectId = null;
if (jsonObject.has("object_id")) {
    objectId = jsonObject.getString("object_id");
}
String postPhoto = "http://graph.facebook.com/" + objectId + "/picture";

检查帖子是否是照片在代码中稍早一些,所以它总是为帖子类型的“照片”运行这些行。

7 个答案:

答案 0 :(得分:9)

me/home - graph api有一个名为"object_id" and "type"的字段。如果类型是“photo”,那么您将拥有此object_id值。通过使用此对象ID并进行另一个图形api调用,您将获得一个名为"images"的对象。该对象有几个选项(不同的大小)。

OR

使用如下所示的对象ID并获取照片的相册大小版本。此调用支持的类型是“thumbnail,normal,album”。

https://graph.facebook.com/{object-id-from-feed}/picture?type=normal 

并查看Examples of Supported Objects部分下的此链接。

答案 1 :(得分:2)

您需要做的就是(图谱API):

http://graph.facebook.com/me?fields=picture.height(961) 
// all any height which u want

或(对于其他用户)

http://graph.facebook.com/{user_id}?fields=picture.height(961) 
// replace {user_id} with the user id you want

答案 2 :(得分:1)

使用此:

/user_id/?fields=picture.height(961)

它将提供最大可能的分辨率图片。

答案 3 :(得分:0)

这是一个迟到的回应,但我找到了一个更好的方法

如果您使用图形api获得了一个地址

https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-xaf1/t1.0-9/s130x130/10501892_701590943222768_782659935906208443_n.png

然后将130x130替换为有效的分辨率

https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-xaf1/t1.0-9/s480x480/10501892_701590943222768_782659935906208443_n.png

您将能够获得高分辨率图像

可以从此示例调用中找到有效的图像分辨率

http://graph.facebook.com/701586786556517

701586786556517 =来自Facebook图形API调用的object_id

希望这有助于某人。

答案 4 :(得分:0)

由于某些原因,这个问题的答案都没有,但是,另一个论坛上的一个人发布了在字段perameter中使用“full_picture”,它就像一个魅力。我没有在任何文档中找到这个...除非我只是忽略了它?

OP https://www.quora.com/How-do-I-get-the-full-size-of-image-in-a-Facebook-post-using-Graph-API

答案 5 :(得分:0)

以上都没有为我工作,要求现场附件解决了它

&fields=picture.type(large),attachments

答案 6 :(得分:0)

图表api会返回包含图片 webp_images 的响应,并且它包含所有可用分辨率的图片链接。

根据最新版本: v2.12

对于个人资料照片:

/me?fields=photos{picture,images,webp_images}

对于特定专辑:

'album-id'?fields=photos{picture,images,webp_images}

字段详情:

照片:可用照片数组,这将返回如下所示的json:

{
    data: [],
    pagin: []
}

数据对象中,我们将在字段下方显示:

图片:低分辨率图片的链接可能是缩略图的使用

images :图片图片的对象数组,栅格格式具有不同的不同分辨率

webp_images :图片图片的对象数组,具有不同的webp格式分辨率

图片 web_images 对象将包含以下数据:

{
    height: number, // 400
    source: 'link for the image with the resolution of height and width specified', //https:....
    width: number //496
}