开发者

How to get facebook profile picture with 'F'-logo?

I use Graph API and I need to get users' profiles pictures by their UIDs. It's easy to do: http:/开发者_如何学运维/graph.facebook.com/[Facebook UID]/picture

I remember, some time ago, there was a litte Facebook Logo (litter 'f'-char) on these profile pictures. But now, I get only profile pictures without this logo.

How can I get images with this 'f'-logo?


Facebook doesn't store images with the 'f' on, so it's a little hacky to get at them.

I've found that this works:

You'll need the final image url, after graph.facebook.com/[id]/picture redirects.

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

eg. me


I think it's not possible using the graph api.

It was possible using FQL (dont know if it is still working):

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

or use xfbml with <fb:profile-pic facebook-logo="true">


With jQuery and JS API you can make an FQL call:

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>');
});

also you can try:
pic_small_with_logo, pic_big_with_logo, pic_square_with_logo and the pic_with_logo i use in example.

here is the user table:
https://developers.facebook.com/docs/reference/fql/user/


Based on Tom's answer, Here is php example to get user's

$_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;
}

Here is what we do:

  • Query picture url via opengraph
  • Get the picture url from json object
  • redirect the page to facebook image handler with addition &logo to url
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜