使用facebook图形api获取新闻提要:https://graph.facebook.com/me/home?access_token=...
它返回的图片字段都是最小的,如图片":"https://fbcdn-photos-b-a.akamaihd.net/hphotos-ak-ash3/xxxxxx4_s.jpg:
有什么参数可以用来检索更大的缩略图吗?有办法做到这一点吗?
您可以为返回的对象添加自定义字段列表。
?fields=full_picture
将返回全尺寸图像。
我发现将文件URL末尾的字符交换为_n、_b或_o不再有效。
Facebook发布了图形API 2.0,可以用来解决这个问题。
以下是解决方案:
1.从你想要图片的帖子中获取object_id
在每个Post对象中,可能都有一个object_id字段。只有当帖子有视频图片(即类型="照片"或"视频")时,才会显示此字段
2.向发出GET请求https://graph.facebook.com/v2.0/{object_id}?access_token={token}
例如,如果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调用的响应有一个字段名称映像。这包含图像的大小。就拿最大的一个吧。
除了picture字段外,还有一个object_id字段。将此id放入以下url:
https://graph.facebook.com/{object_id}/图片
这将返回实际大小的图像。或者你可以为不同的图像大小写这个。
https://graph.facebook.com/{object_id}/picture?type=正常
类型可以是:缩略图、普通、相册。
我目前正在搜索同样的东西。我知道你可以在最后用_s
换成_n
,得到更大的尺寸。。。但我还没有弄清楚如何让api自己返回更大的大小。
您可以使用输入后的[object_id]
进行额外请求
$res = $facebook->api('/yourid', 'GET', $params);
即使将_s替换为_l或_b也可能导致更大的缩略图。
但有时它会导致无效请求或空白图像,而不是暗背景上的白点。
理想情况下,api应该为网络上的每个图片对象指定crop、thumb、normal和large(就像在twitter网络上一样)。
它返回最小的大小,即130x130。要获得更大的尺寸,请尝试用代替
320x320
480x480
600x600
720x720