【问题标题】:Facebook Graph API - page/posts - how to get photo url?Facebook Graph API - 页面/帖子 - 如何获取照片网址?
【发布时间】:2014-06-05 08:06:17
【问题描述】:

我的目标是从给定页面中提取最新帖子。使用 API 端点 {page_id}/posts 可以正常工作。其中一些帖子属于type="photo",并具有picturefull_picture 字段。麻烦的是,这些图片网址很小,更像是缩略图而不是图片。

我注意到最近有另一个字段object_id 附带任何类型为照片的帖子。向{object_id}/picture?redirect=false 发出请求会返回一个图片的网址。

{page_id}/posts 拉帖子时,我想从{object_id}/picture 获取网址,但我找不到这样做的方法。 我尝试嵌套请求{page_id}/posts?fields=object_id.fields(picture),得到的只是Subfields are not supported by object_id

如何获取页面发布的图片的网址?

编辑

只是为了澄清我的问题:

我想提取给定页面的所有最新帖子。对于带有type="photo" 的帖子,除了其他字段(例如消息)之外,我还想提取图片网址。最好不要对 Graph API 额外请求。

我通常的请求是这样的:

{page_id}/posts?fields=id,object_id,message,description,full_picture,source

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

【问题讨论】:

标签: python facebook facebook-graph-api


【解决方案1】:

查询attachments 字段。像这样:

{page_id}/posts?fields=attachments,id,object_id,message,description,full_picture,source

这将为您提供全尺寸的图像。

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

【讨论】:

    【解决方案2】:

    使用 picture 字段获取缩略图 URL。这是您可以从单个 API 调用中获得的最大收益。但是您可以修改该 URL 以引入全分辨率图片。看看这个答案。

    https://stackoverflow.com/a/22897707/1754999

    如果您使用 Picasso,您可以在加载时检查重定向错误(以防该方法不起作用)并为帖子的 object_id 设置另一个 API 调用。该 API 调用中的 source 字段将是全分辨率图像,但仅在上述方法不起作用时才使用。

    编辑:您基本上将 URL 中的 _s 替换为 _n_o

    【讨论】:

    • 是的,我曾经用_n 更改_s,它工作了一段时间,但最近我得到了这种方法不起作用的图像。更改为_n 只带来了 1px x 1px 的图像,但是当我通过object_id 获得网址时,我得到了大图像。不知道_o 的事情,会试试的,ty ;)
    • 太棒了! ty 将我引导到另一个问题,我以前没有找到它,它帮助我解决了我的问题。看起来这个解决方案仅适用于 graph api v1.0,如果我错了,请纠正我。明年我们将不得不找到另一个解决方案。
    • 我一直在用 2.0.也使用_n.
    • 我指的是'https://graph.facebook.com/' + object_id + '/picture' 部分。这是对 api v1.0 的调用。目前,我将所有图像都更改为 object_id,效果很好。仍然必须使用_n 观看视频。
    【解决方案3】:

    您可以在 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。

    【讨论】:

    • 这可以适应从页面中提取所有类型的帖子吗?以及type="photo"src_big 的帖子?
    • 此 FQL 完全符合您的要求:对于主页的所有 photo 帖子,大照片表示 src_big。见developers.facebook.com/docs/reference/fql/stream
    • 我要求的是提取给定页面的所有最新帖子。这些帖子可以是不同的类型。我看到的其中一种类型是照片,这些帖子有照片缩略图的 url。我正在尝试找到一种获取照片网址的方法,同时提取各种最新帖子。我将编辑我的问题以澄清这一点。
    • 原始帖子中已包含“一个”缩略图。我真的敦促您尽可能详细地说明您想做什么。当一个人回答一个问题时,它不知何故很糟糕,然后 OP 下定决心并改变了范围。你的问题是:How can i get the url to an image posted by the page?
    • 你是绝对正确的。对不起,我刚刚编辑了我的问题。感谢您指出!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-26
    • 1970-01-01
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    相关资源
    最近更新 更多