如何获得带有'F'-logo的脸谱图片?

时间:2010-12-16 10:11:43

标签: facebook facebook-graph-api

我使用Graph API,我需要通过UID获取用户的个人资料图片。 它很容易做到:http://graph.facebook.com/ [Facebook UID] / picture

我记得,前段时间,这些个人资料图片上有一个小小的Facebook Logo(垃圾'f'-char)。但现在,我只获得没有此徽标的个人资料图片。

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

4 个答案:

答案 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_logopic_big_with_logopic_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;
}

以下是我们的工作:

  • 通过opengraph查询图片网址
  • 从json对象中获取图片网址
  • 将页面重定向到Facebook图片处理程序,并添加&amp; logo to url
相关问题