我用它来获取缩略图: https://graph.facebook.com/806640129377133/picture
但这输出的图像大小为160 x 160px,我需要至少640 x 360像素。我尝试了几种方法(例如:https://graph.facebook.com/806640129377133/picture?type=large),但没有任何效果。如何获得更大的缩略图?
答案 0 :(得分:2)
luschn提到的方法是要求具有特定尺寸的图片的正常方法;但是在这里它似乎不起作用,指定更大的宽度/高度值仍然只给出160×160版本。
但是,如果您look at the format
field,它会显示如下内容,
"format": [
{
"embed_html": "<iframe src=…></iframe>",
"filter": "130x130",
"height": 130,
"picture": "…",
"width": 130
},
{
"embed_html": "<iframe src=…></iframe>",
"filter": "native",
"height": 400,
"picture": "…",
"width": 400
}
],
因此可以使用更大版本的图片,大小为400×400。
虽然它甚至在那里提到了filter
属性,但我还没有找到一种方法让它只吐出大图片 - 但是你可以遍历这个并查看哪一个具有最大宽度/高度自己。
如果您拨打该电话?fields=format{picture,width,height},您将只获得picture
,width
和height
属性(如果您希望缩小占用空间并避免请求不必要的数据)。
答案 1 :(得分:0)
这是如何以所需的分辨率获得图片:
https://graph.facebook.com/[Graph-ID]/picture?width=121&height=100
可能有点大,但它会将设置的宽度和高度参数设置为最小值。
如果它不起作用,图像可能不会以足够大的分辨率上传。这适用于配置文件(头像)的个人资料图片,但在这种情况下,它是一个视频,我怀疑你会得到一个更大的。
答案 2 :(得分:0)
感谢@CBroe提供原始解决方案。
这是获取Facebook视频最高分辨率缩略图的最简单方法。
$request_url ="https://graph.facebook.com/{VIDEO_ID}/?fields=format{picture,width,height}";
$requests = file_get_contents($request_url);
$fb_response = json_decode($requests);
echo end($fb_response->format)->picture; //highest resolution image available
花了半天时间寻找这个!希望我能节省你的时间! :d