从电子邮件地址获取Facebook个人资料照片

时间:2010-06-28 03:33:22

标签: image facebook gravatar

我正在尝试根据用户的电子邮件地址获取用户的脸谱资料图片。实际上,我想为我的用户提供使用Gravatar作为他们的图像或Facebook的选项。但是,我知道获取用户的脸书图片的唯一方法是通过:

http://graph.facebook.com/[FBOOK USERNAME]/picture?type=large

由于用户名在facebook和我的网站之间可能有所不同,我想通过电子邮件地址而不是用户名进行此操作。如何通过电子邮件地址查询某人的Facebook个人资料图片?

3 个答案:

答案 0 :(得分:21)

我看到这个问题已经有几年了,但使用图谱API可以采用相同的搜索方法:

GET https://graph.facebook.com/search?q={EMAIL}&type=user

您可以在Graph API Explorer上尝试此操作。您没有直接获取个人资料图片,但是您获得了用户ID,您可以轻松使用该ID来获取公开个人资料图片。

https://graph.facebook.com/{UID}/picture

答案 1 :(得分:5)

似乎没有正式的方法来做你要求的事情。似乎facebook已故意将其关闭,可能与隐私有关。实际上,在几个屏幕抓取步骤中实际上很容易做到这一点:

1)访问http://www.facebook.com/#!/search.php?q=# {USERS_EMAIL_ADDRESS}& type = all& init = srp

2)如果页面返回“找不到您的查询的结果。”,则表示他们没有个人资料。

3)否则,该页面将包含该电子邮件地址的用户缩略图。 (类似于http://profile.ak.fbcdn.net/hprofile-ak-snc4/hs227.ash2/48219_72120057_3223_q.jpg

如果有人愿意,我可以在大约5分钟内写一个sinatra应用来做这件事。

但我认为gravatar和facebook应该只是朋友。

答案 2 :(得分:-2)

您要求做的是Facebook Connect存在的部分原因。

使用他们不太巧妙命名的XFBML,您可以直接请求图像: <fb:profile-pic uid="1256100362" facebook-logo="true" size="thumb"> </fb:profile-pic>

但您必须首先使用FB Connect实现登录...