如何获取带有“F”标志的 Facebook 个人资料图片?

发布于 2024-10-07 21:43:26 字数 206 浏览 4 评论 0原文

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

我记得,不久前,这些个人资料图片上有一个小小的 Facebook 徽标(乱七八糟的“f”字符)。但现在,我只能得到没有这个标志的个人资料图片。

如何获取带有“f”标志的图像?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

套路撩心 2024-10-14 21:43:26

Facebook 不存储带有“f”的图像,因此获取它们有点困难。

我发现这是可行的:

在 graph.facebook.com/[id]/picture 重定向之后,您将需要最终的图像网址。

http://external.ak.fbcdn.net /safe_image.php?&url=[imageurl]&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

云雾 2024-10-14 21:43:26

我认为使用 graph api 是不可能的。

可以使用 FQL(不知道它是否仍在工作):

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

或使用 xfbml 和

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">

雨落星ぅ辰 2024-10-14 21:43:26

使用 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/

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/

人生百味 2024-10-14 21:43:26

根据 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 查询图片 url
  • 从 json 对象获取图片 url
  • 将页面重定向到 facebook 图像处理程序,并在 url 中添加 &logo

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文