Python Facebook Graph API-页面/帖子-如何获取照片url?

Python Facebook Graph API-页面/帖子-如何获取照片url?,python,facebook,facebook-graph-api,Python,Facebook,Facebook Graph Api,我的目标是从给定页面中获取最新的帖子。使用API端点{page_id}/posts,这一切都很好。有些帖子是type=“photo”的,有picture和full\u picture字段。问题是,这些图像URL很小,更像是缩略图而不是图像 我注意到最近有另一个字段object\u id,它与任何类型的照片一起出现。请求{object\u id}/picture?redirect=false返回图像的url 当我从{page\u id}/posts拉帖子时,我想从{object\u id}/pic

我的目标是从给定页面中获取最新的帖子。使用API端点
{page_id}/posts
,这一切都很好。有些帖子是
type=“photo”
的,有
picture
full\u picture
字段。问题是,这些图像URL很小,更像是缩略图而不是图像

我注意到最近有另一个字段
object\u id
,它与任何类型的照片一起出现。请求
{object\u id}/picture?redirect=false
返回图像的url

当我从
{page\u id}/posts
拉帖子时,我想从
{object\u id}/picture
获取url,但我找不到这样做的方法。 我试图嵌套请求
{page\u id}/posts?fields=object\u id.fields(picture)
,我得到的只是
子字段不受object\u id
支持

如何获取页面发布的图像的url

编辑

我想澄清一下我的问题:

我想为给定的页面拉所有最新的帖子。对于带有
type=“photo”
的帖子,除了消息等其他字段外,我还想提取图像url。最好不需要额外的图形API请求

我通常的请求如下:

{page\u id}/posts?字段=id,object\u id,消息,描述,全图,源代码


这带来了
页面的各种帖子
full_picture
是缩略图大小图像的url。如果可能的话,我想获得一个更大尺寸的相同图像的url。

您可以在FQL中执行此操作:

select pid, object_id, src_big from photo where pid in (select attachment.media.photo.pid from stream where source_id={PAGE_ID} and type=247)

其中{PAGE_ID}是页面的数字ID。

使用
图片
字段获取缩略图URL。这是从单个API调用中最多可以得到的。但是您可以修改该URL以获得完整的分辨率图片。看看这个答案

如果您使用毕加索,您可以检查加载过程中的重定向错误(如果该方法不起作用),并设置对post的
对象id
的另一个API调用。该API调用中的
source
字段将是全分辨率图像,但仅当上述方法不起作用时才使用该图像


编辑:您基本上将
\s
替换为URL中的
\n
\o

查询
附件
字段。像这样:

{page_id}/posts?fields=attachments,id,object_id,message,description,full_picture,source
这将为您提供全尺寸图像


请注意,这可能不适用于状态更新帖子。

这是否适用于从页面中提取所有类型的帖子?对于带有
type=“photo”
pull
src\u big
的帖子,此FQL也会完全按照您的要求进行拉取:对于页面中的所有
photo
帖子,大照片响应
src\u big
。看,我要求的是为给定的页面拉所有最新的帖子。这些职位可以是不同类型的。我看到的其中一种类型是照片,这些帖子有指向照片缩略图的url。我试图找到一种获取照片url的方法,同时提取各种最新帖子。我将编辑我的问题来澄清这一点。只是“一个”缩略图已经包含在原始帖子中。我真的敦促你尽可能详细地说明你想做什么。当一个人回答一个问题的时候,它不知何故很糟糕,然后OP下定决心改变范围。您的问题是:
如何获取页面发布的图像的url?
您完全正确。对不起,我刚刚编辑了我的问题。谢谢你指出这一点!是的,我曾经用
\u n
更改
\u s
,它在一段时间内起作用,但最近我得到了这种方法不起作用的图像。更改为
\n
只会带来1px x x 1px图像,但当我通过
对象id
获得url时,我得到了一张大图像。不知道
\u o
的事情,我会试试看,泰;)令人惊叹的!谢谢你把我引向另一个问题,我以前没有找到它,它帮助我解决了我的问题。看起来这个解决方案只适用于graph api v1.0,如果我错了,请纠正我。明年我们将不得不找到另一个解决方案。我一直在2.0中使用它。还使用了
\n
。我指的是
'https://graph.facebook.com/“+object_id+”/picture'
part。这是对api v1.0的调用。目前,我更改了所有图像,使其通过
object\u id
,效果非常好。在视频中仍然必须使用
\n
。好吧,你的问题回答了我的问题。。。这可能会解决您的问题: