2010-12-16 175 views
1

我使用图形API,我需要通过其UID获取用户的个人资料图片。 这很容易做到:http://graph.facebook.com/ [Facebook的UID] /图片如何使用'F'-logo获取Facebook个人资料照片?

我记得,前段时间,这些配置文件上有一个litte'f'-char litte小标志图片。但现在,我只能得到没有这个标志的个人资料照片。

如何使用此'f'-logo获取图像?

回答

0

我认为这是不可能的使用图形api。

这是可能使用FQL(不知道是否仍能工作):

SELECT pic_with_logo FROM user WHERE uid = "..." 

或使用XFBML与<fb:profile-pic facebook-logo="true">

+0

Facebook上称此配置文件的PIC与图标..尝试谷歌。也许你可以找到更好的东西,然后我。 – Martin 2010-12-19 01:35:06

4

Facebook并没有存储与在“F”的图像,所以它的有点哈克得到他们。

我发现这工作:

你需要的最终图像的URL,graph.facebook.com/[id]/picture重定向后。

http://external.ak.fbcdn.net/safe_image.php? & url = [imageurl] & logo

eg。 me

+0

不再适用于btw! – Parris 2013-01-12 02:25:26

+0

我没有看到任何内容.. 但我无法在google或fb上找到此问题.. – Kalaschni 2013-06-20 20:15:17

0

使用jQuery和JS API可以使一个FQL电话:

FB.api({ method: 'fql.query', query: 'SELECT uid, pic_with_logo FROM user WHERE uid = me()' }, function(response) { 
    var user = response[0]; 
    $('#container').append('<img src="'+user.pic_with_logo+'"/><br>'); 
}); 

,你也可以试试:
pic_small_with_logopic_big_with_logopic_square_with_logopic_with_logo我示例使用。

这里是用户表:
https://developers.facebook.com/docs/reference/fql/user/

0

基于汤姆的回答,下面是PHP例子来获取用户的

$_json = json_decode(file_get_contents('http://graph.facebook.com/[FACEBOOK_UID]?fields=picture')); 
if (isset($_json->picture)) { 
    header("Location: http://external.ak.fbcdn.net/safe_image.php?&url=" . $_json->picture . "&logo"); 
    exit; 
} 

这里是我们做什么:

  • 查询图片网址通过opengraph
  • 从json对象获取图片url
  • 页面重定向到具有另外&标志Facebook的图像处理程序,网址
相关问题