从电子邮件地址获取facebook个人资料图片
我想根据其电子邮件地址获取用户的Facebook个人资料图片。实际上,我想为我的用户提供使用Gravatar进行图片或Facebook使用的选项。然而,我所知道的唯一的方式来获得用户的Facebook图片是通过:从电子邮件地址获取facebook个人资料图片
http://graph.facebook.com/[FBOOK USERNAME]/picture?type=large
由于用户名可能Facebook和我的网站之间的变化,我想通过电子邮件地址而不是用户名来做到这一点。如何通过电子邮件地址查询某人的Facebook个人资料照片?
你要做的是Facebook连接存在的一部分。
利用他们不太巧妙地命名XFBML您可以要求直接图像: <fb:profile-pic uid="1256100362" facebook-logo="true" size="thumb"> </fb:profile-pic>
但是你要实现与FB连接第一登录...
似乎没有给做一个正式的方式去做你正在问的东西。似乎Facebook已经有意封闭了这个网站,可能与隐私有关。它实际上很容易做到这一点,虽然一些屏幕抓取步骤:
1)访问http://www.facebook.com/#!/search.php?q=# {USERS_EMAIL_ADDRESS} &类型=所有&的init = SRP
2)如果页面返回“找到你的任何结果查询“,然后他们没有配置文件。
3)否则,该页面将包含该电子邮件地址的用户的缩略图。 (类似于http://profile.ak.fbcdn.net/hprofile-ak-snc4/hs227.ash2/48219_72120057_3223_q.jpg)
如果有人愿意,我可以在约5分钟内编写一个sinatra应用程序来完成此操作。
但我认为gravatar和facebook应该只是朋友。
我真的这样做 - 我不会屏幕刮,但我绝对可以使用搜索结果自动获取用户的Facebook的ID,并使用该方法我的问题。但是,只有在您登录时搜索才起作用,这使我以编程方式执行此操作。 – Mala 2010-12-02 06:02:06
我看到这个问题有几年了,不过相同的搜索方法可以使用图形API采取:
GET https://graph.facebook.com/search?q={EMAIL}&type=user
你可以试试这个在Graph API Explorer。您不直接获取个人资料图片,但您可以获取用户标识,您可以轻松使用该标识获取公开个人资料图片。
https://graph.facebook.com/{UID}/picture
太棒了!这应该是公认的。 – 2012-12-17 14:48:03
正确 - 非常好的答案。 :)很多人错过的事情是,当以这种方式使用Graph API时,您只能获取* public *个人资料图片。如果用户的设置使其个人资料图片是私人的,那么您将无法得到它(我认为我们大多数人会同意这一点应该是这样)。 – LloydDobbler 2013-01-02 17:25:29
它说:“用户访问令牌是需要请求此资源” – Adeem 2014-02-28 02:18:41
你真的可以那样做吗?根据可能是私人用户数据的电子邮件地址来检索Facebook数据似乎有点安全问题。当然,Facebook对私人的定义可能比别人的定义宽松。 – 2010-06-28 03:35:54
我在找同样的东西。我想过在URL中使用user.name,但只有当用户在www.facebook.com/username上设置了Facebook用户名时才有效。 – Jorre 2011-02-27 23:20:24
似乎Sparrow(http://sparrowapp.com/)电子邮件客户端正在这样做,但它需要您对Facebook进行身份验证。 – 2012-04-10 02:46:24