25

使用 facebook graph api 获取新闻提要: https ://graph.facebook.com/me/home?access_token= ...

它返回的图片字段都是最小尺寸,如图片“:” https://fbcdn-photos-ba.akamaihd.net/hphotos-ak-ash3/xxxxxx4_s.jpg

是否有任何参数可用于检索更大的缩略图?有什么办法可以做到这一点?

4

7 回答 7

43

您可以为返回对象添加自定义字段列表。

?fields=full_picture

将返回全尺寸图像。

于 2015-03-12T12:19:41.883 回答
17

我发现将文件 URL 末尾的字符交换为 _n、_b 或 _o 不再有效。

Facebook 已经发布了图形 API 2.0 可以用来解决这个问题。

这是解决方案:

1.从你想要图片的帖子中获取object_id

在每个 Post 对象中可能有一个 object_id 字段。此字段仅在帖子包含视频图片时出现(即 type = 'photo' 或 'video')

2. 向https://graph.facebook.com/v2.0/ {object_id}?access_token={token}发出 GET 请求

例如,如果 object_id = 123 并且您的访问令牌 = abc,则要调用的 URL 变为https://graph.facebook.com/v2.0/123?access_token=abc

此 API 调用获取有关给定 object_id 的更多信息。由于本例中的 object_id 表示照片,因此响应将包含照片的各种版本。

可以在此处找到此请求的响应:https ://developers.facebook.com/docs/graph-api/reference/v2.0/photo

3.从图像字段中获取最大尺寸的图像

API 调用的响应有一个名为 images 的字段。这包含从小到大尺寸的图像。只取最大的一个。

于 2014-07-31T06:42:41.553 回答
13

除了图片字段,还有一个 object_id 字段。将此ID放在以下网址中:

https://graph.facebook.com/ {object_id}/图片

这将返回实际大小的图像。或者你可以为不同的图像尺寸编写这个。

https://graph.facebook.com/ {object_id}/picture?type=normal

类型可以是:缩略图、普通、相册。

于 2014-03-20T10:19:09.833 回答
4

我目前正在寻找同样的东西。我知道你可以在最后交换并_s获得_n更大的尺寸......但我还没有弄清楚如何让 api 自己返回更大的尺寸。

于 2013-07-31T20:43:59.777 回答
0

它返回最小的尺寸,即 130x130。要获得更大的尺寸,请尝试将其替换为

320x320

480x480

600x600

720x720

于 2014-07-08T19:02:04.087 回答
0

即使将 _s 换成 _l 或 _b 也可能会导致缩略图变大。
但有时它会导致无效请求或空白图像,而不是深色背景上的白点。
理想情况下,api 应该为网络上的每个图片对象指定裁剪、拇指、正常和大(如在 twitter 网络上)。

于 2013-12-29T10:21:24.143 回答
0

您可以使用[object_id]帖子条目的提出额外请求

$res = $facebook->api('/yourid', 'GET', $params);
于 2013-10-04T03:01:46.237 回答