15

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

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

由于 facebook 和我的网站之间的用户名可能不同,我想通过电子邮件地址而不是用户名来执行此操作。如何通过电子邮件地址查询某人的 Facebook 头像?

4

3 回答 3

24

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

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

你可以在Graph API Explorer上试试这个。您不会直接获得个人资料图片,但您会获得用户 ID,您可以轻松地使用它来获取公共个人资料图片。

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

于 2012-08-21T18:24:03.247 回答
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 应该只是朋友。

于 2010-12-02T04:58:55.853 回答
-2

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

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

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

于 2010-06-28T03:49:44.713 回答