获取Facebook个人资料照片

7

我需要通过传递用户ID来获取他们的Facebook个人资料图片。但是我不需要使用Facebook API或Graph等任何其他东西。只需提供带有该ID的URL即可。这种方式能否获取个人资料图片?我在谷歌上尝试了,但没有找到答案。如果有人知道,请回复我...


Facebook的新需求,修复:https://dev59.com/Vmgu5IYBdhLWcg3wRlL0#64010121 - David Rearte
2个回答

25

我认为唯一可用的选项是:

  • https://graph.facebook.com/[PROFILE_ID]/picture(您可以将此URL包含在标签中,它会正常工作)。
  • 自己抓取与个人资料对应的页面,即http://www.facebook.com/profile.php?id=[PROFILE_ID],并从那里获取图片的URL。

我建议您使用第一个选项,因为它可以更灵活地控制图片的大小(?type=small, ?type=thumbnail,等)。

编辑

请注意,这个答案来自2011年,并且Facebook经常更改其API。


2
+1,对于第一个选项我表示赞同,但我会删除第二个选项,因为那不是正确的做法! - ifaour
第一个选项会强制你在获取个人资料图片时遵循重定向。如果你正在获取最近的好友请求后面的一批数据,最好直接访问CDN URL。你可以从图形API的有效负载中获取这个URL。 - Ken
类型必须是以下值之一:small、normal、large、square。 - mogetutu
1
第二个选项可能受用户权限的限制。如果不是公共的话,可能就不会显示出来。不过我对此并不确定。 - Philll_t

1
除了上面提到的使用Graph API(https://graph.facebook.com/[PROFILE_ID]/picture)之外,还有几种方法:
  • FlipTop有一个服务,可以获取Facebook用户的各种信息,包括个人资料图片的直接CDN URL(例如https://fbcdn-profile-a.akamaihd.net/hprofile-ak-snc4/275588_504804917_147319_n.jpg)。 (API文档链接

  • Cloudinary也有类似的服务,但其中还包括托管。他们要求您开设一个帐户,但是免费的。然后,您可以使用他们的CDN URL格式链接到任何图片,如下所示:http://res.cloudinary.com/[YOUR_ACCOUNT]/image/facebook/[PROFILE_ID].jpg这里阅读更多)


2
第一个链接已经失效 =( - Tom Prats

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接