【问题标题】:Using facebook graph api how to get news feed with large picture size if the feed type is photo?如果提要类型是照片,使用 facebook graph api 如何获取大图片尺寸的新闻提要?
【发布时间】:2013-07-03 02:42:39
【问题描述】:

使用 facebook graph api 获取新闻提要: https://graph.facebook.com/me/home?access_token=...

它返回的图片字段都是最小尺寸的,如图片": "https://fbcdn-photos-b-a.akamaihd.net/hphotos-ak-ash3/xxxxxx4_s.jpg:

我可以使用任何参数来检索更大的缩略图吗?有什么办法吗?

【问题讨论】:

标签: facebook facebook-graph-api


【解决方案1】:

您可以为返回对象添加自定义字段列表。

?fields=full_picture

将返回完整尺寸的图像。

【讨论】:

  • fields 参数很棒,您可以过滤掉结果以仅显示您真正需要的内容,例如:fields=full_picture,message,link,type,name,description,from
  • ifself如何获取请求中full_picture的宽高
  • full_picture 返回最大宽度 = 720p 的图像,而实际上原始图像可以更大。
【解决方案2】:

我发现将文件 URL 末尾的字符交换为 _n、_b 或 _o 不再有效。

Facebook 已经发布了图形 API 2.0 可以用来解决这个问题。

解决办法如下:

1。从你想要图片的帖子中获取 object_id

在每个 Post 对象中可能有一个 object_id 字段。此字段仅在帖子包含视频图片时出现(即 type = 'photo' 或 'video')

2。向https://graph.facebook.com/v2.0/{object_id}?access_token={token}

发出 GET 请求

例如如果 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 调用的响应包含一个名为 images 的字段。这包含从小到大尺寸的图像。只取最大的一个。

【讨论】:

  • 这是正确的方法,而不是编辑 CDN URL 或编辑“_n 或 _s”。很好的示例答案,与 Graph API v2.3 完美配合
【解决方案3】:

除了图片字段,还有一个 object_id 字段。 将此ID放在下面的网址中:

https://graph.facebook.com/{object_id}/图片

这将返回实际大小的图像。 或者,您可以针对不同的图像尺寸编写此代码。

https://graph.facebook.com/{object_id}/picture?type=normal

类型可以是:缩略图、普通、相册。

【讨论】:

  • 用_n替换_s和用_b替换_t也可以,但这不是一个好习惯。
  • 这是目前最好的解决方案,非常感谢:)
  • 在 FB 文档中找不到参考。有链接吗?
  • 您可以使用此 URL 中的任何 ID 来获取图片 [developers.facebook.com/docs/graph-api/using-graph-api/v2.2],但帖子 ID 不起作用,因为所有帖子都没有照片。所以带有照片的帖子有这个 object_id 节点,您可以使用它来获取图片。我没有找到任何关于这个的具体文档,只是通过点击和尝试发现。终于成功了
【解决方案4】:

我目前正在寻找同样的东西。我知道你可以在最后将_s 换成_n 并获得更大的尺寸......但我还没有弄清楚如何让api自行返回更大的尺寸。

【讨论】:

  • 不再工作。它曾经一直工作,但现在经常不工作
【解决方案5】:

您可以使用帖子条目的[object_id] 提出额外请求

$res = $facebook->api('/yourid', 'GET', $params);

【讨论】:

    【解决方案6】:

    即使将 _s 换成 _l 或 _b 也可能会导致缩略图变大。
    但有时它会导致无效请求或空白图像,而不是深色背景上的白点。
    理想情况下,api 应该为网络上的每个图片对象指定裁剪、拇指、正常和大(如在 twitter 网络上)。

    【讨论】:

      【解决方案7】:

      它返回最小的尺寸,即 130x130。要获得更大的尺寸,请尝试将其替换为

      320x320

      480x480

      600x600

      720x720

      【讨论】:

      • 我没有用这些数字更改 w=130&h=130 (API v 2.5)
      猜你喜欢
      • 2011-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-06
      • 1970-01-01
      • 2015-03-13
      相关资源
      最近更新 更多