如何获取 Facebook 缩略图的放大版本?

Cra*_*erb 5 facebook facebook-graph-api

现在,Facebook API 返回这样的 URL,所有帖子/相册图像的大小均为 130x130 像素:

https://fbcdn-sphotos-ha.akamaihd.net/hphotos-ak-xfp1/v/t1.0-9/s130x130/10801504_570625556403546_6496651209845129904_n.jpg?oh=dcf8ab3752522532871d2aaab09 b6e7e&oe=54E4402F& gda =1424027679_76464aeeaa5d232b8100d01476af4ec7

如何根据该 URL 检索完整(或任何更大尺寸)的图像?

例如这个:

https://fbcdn-sphotos-ha.akamaihd.net/hphotos-ak-xfp1/v/t1.0-9/p417x417/10801504_570625556403546_6496651209845129904_n.jpg?oh=cd2b5cb0d74f7306c098de9f56 dc6e27&oe=54E1F4C1& gda =1423830001_e700bfac39039952bfee55b200c158bf

或者类似的东西?

从 URL 中删除 s130x130 或 /v/t1.0-9/ 或将 _s 替换为 _n 或类似内容的所有其他建议都不再有效 - 我已经尝试过所有这些(如果您不相信我)。有办法实现这一点吗?不知道 Facebook 的人做了什么改变来禁用这个......

poa*_*r2k 3

经过几个小时的搜索和拉扯我的头发后,我找到了一个适合我的解决方案。就我而言,我从 {page-id}/posts 中提取帖子,但我很确定这也对您有用,因为我曾经使用与您提到的相同的方法获取更大的图像。

这对我有用:

bigger_image="https://graph.facebook.com/" + picture_url_from_facebook.match(/_\d+/)[0].slice(1) + "/picture?type=normal";
Run Code Online (Sandbox Code Playgroud)
  • /_\d+/ 匹配以下划线 (_) 开头后跟任何数字的任何子字符串(\d 匹配一位数字,\d+ 一遍又一遍地匹配数字,直到失败)
  • match(regex) 返回一个数组,其中包含可以找到与指定正则表达式匹配的所有字符串
  • 我们获取第一个 ([0]) 元素,因为这将是一个下划线,后跟 Facebook 数据库中图片的 ID
  • 我们将字符串从索引 1 切到末尾,因为下划线不是 ID 的一部分
  • 然后我们使用 graph api 从 facebook 获得一个工作链接,而不需要任何额外的调用(您可以直接在 img 标签中使用它)

您可以在这个小提琴我们为客户做的这个页面上看到它的实际工作情况

感谢Er Adhish引领解决方案 @ /sf/answers/1895285241/