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

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

  • 它说"请求此资源需要用户访问令牌" (10认同)
  • 不可能以这种方式搜索 - 不幸的是,必须被滥用太多了 (4认同)

ndb*_*ent 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应该只是朋友.


Nil*_*loc -2

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

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

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

  • 是的,遗憾的是我们不能像 gravatar 那样使用 md5(电子邮件)做到这一点 (3认同)