我知道关于FB 的 Graph API 以及如何检索全尺寸图像的许多现有问题。
但是其中许多是关于获取用户个人资料图片的,这些图片的回答是“/<userid>/picture”或类似的东西。我需要知道如何从页面提要中获取发布的图像,所以这不是我想要的。full_image
然后是用“在您的搜索查询中使用”回答的问题。
好吧,此时我的问题开始了。full_image
实际上不是完整的图像。它仅限于 720x720 像素。
让我们看一个例子: 在 Facebook 的 Graph API Explorer 中探索这张来自 SPIEGEL ONLINE 的图片。
Graph API 请求的给定路径是:
/38246844868_10154299256109869?fields=full_picture,picture,permalink_url,type,object_id
响应如下:
{
"full_picture": "https://scontent.xx.fbcdn.net/v/t1.0-9/s720x720/13450864_1068539139897737_5236884236245491903_n.jpg?oh=20cc415e7931b8eb8a6228ab253bfa53&oe=57E23B8B",
"picture": "https://scontent.xx.fbcdn.net/v/t1.0-0/s130x130/13450864_1068539139897737_5236884236245491903_n.jpg?oh=37c4263e047f841da7243c040a4f279d&oe=57C6469E",
"permalink_url": "https://www.facebook.com/spiegelonline/posts/10154299256109869",
"type": "photo",
"object_id": "1068539139897737",
"id": "38246844868_10154299256109869"
}
如您所见,我请求了picture
(这只是一个拇指)和由full_picture
. 不幸的是,这张照片不是完整的,而是一张调整大小的。图片的 URL 中甚至提到它最大只有 720x720。
访问后面的 Facebook 页面时,permalink_url
您会看到图片帖子。
我们开始吧:https ://www.facebook.com/spiegelonline/posts/10154299256109869
当以全屏模式打开发布的图像,然后右键单击它以显示图像文件时,您会看到图像将比 720x720 大得多。
它是:https ://scontent-frt3-1.xx.fbcdn.net/t31.0-8/13422344_1068539139897737_5236884236245491903_o.jpg
请将该 URL 与 API 端点响应的 URL 进行比较,如上所示。甚至服务器也不一样。因此,正如在 SO 上的其他几个问题中提到的那样,将“_n”替换为“_o”并不是一个简单的解决方案。
我的问题是:如何使用 Graph API 获取完整大小的图像 URL?
TL;DR: Facebook 的 Graph API 似乎通过使用full_image
. 那么,如何检索实际的完整(即未调整大小的)图像。