Mal*_*ala 14 facebook gravatar image
我正在尝试根据用户的电子邮件地址获取用户的脸谱资料图片.实际上,我想为我的用户提供使用Gravatar作为他们的图像或Facebook的选项.但是,我知道获取用户的脸书图片的唯一方法是通过:
http://graph.facebook.com/[FBOOK USERNAME]/picture?type=large
由于用户名在facebook和我的网站之间可能有所不同,我想通过电子邮件地址而不是用户名来完成.如何通过电子邮件地址查询某人的Facebook个人资料图片?
urr*_*aka 23
我看到这个问题已经有几年了,但使用Graph API可以采用相同的搜索方法:
GET https://graph.facebook.com/search?q={EMAIL}&type=user
您可以在Graph API Explorer上尝试此操作.您没有直接获取个人资料图片,但是您获得了用户ID,您可以轻松使用该ID来获取公开个人资料图片.
https://graph.facebook.com/{UID}/picture
似乎没有正式的方法来做你要求的事情.似乎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应该只是朋友.
Nil*_*loc -2
您要求做的事情是 Facebook Connect 存在的部分原因。
使用他们命名不太巧妙的 XFBML,您可以直接请求图像:
<fb:profile-pic uid="1256100362" facebook-logo="true" size="thumb"> </fb:profile-pic>
但你必须先使用 FB Connect 实现登录...