我使用Graph API,我需要通过UID获取用户的个人资料图片。 它很容易做到:http://graph.facebook.com/ [Facebook UID] / picture
我记得,前段时间,这些个人资料图片上有一个小小的Facebook Logo(垃圾'f'-char)。但现在,我只获得没有此徽标的个人资料图片。
如何使用这个'f'-logo获取图像?
答案 0 :(得分:4)
Facebook不存储带有'f'的图像,因此对它们来说有点蠢。
我发现这有效:
在graph.facebook.com/[id]/picture重定向后,您需要最终的图片网址。
http://external.ak.fbcdn.net/safe_image.php?&url= [IMAGEURL]&安培;标志
例如。 me
答案 1 :(得分:0)
我认为使用图表api是不可能的。
可以使用FQL(不知道它是否仍在工作):
SELECT pic_with_logo FROM user WHERE uid = "..."
或将xfbml与<fb:profile-pic facebook-logo="true">
答案 2 :(得分: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_logo
,pic_big_with_logo
,pic_square_with_logo
以及我在示例中使用的pic_with_logo
。
这是用户表:
https://developers.facebook.com/docs/reference/fql/user/
答案 3 :(得分:0)
根据Tom的回答,这是获取用户的
的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;
}
以下是我们的工作: