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

Posted

技术标签:

【中文标题】如何获取带有“F”标志的 Facebook 个人资料图片?【英文标题】:How to get facebook profile picture with 'F'-logo? 【发布时间】:2010-12-16 10:11:43 【问题描述】:

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

我记得,不久前,这些个人资料图片上有一个小 Facebook 徽标(litter 'f'-char)。但是现在,我只得到没有这个标志的个人资料照片。

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

【问题讨论】:

【参考方案1】:

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

我发现这是可行的:

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

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

例如。 me

【讨论】:

【参考方案2】:

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

使用 FQL 是可能的(不知道它是否仍然有效):

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

或将 xfbml 与 <fb:profile-pic facebook-logo="true"> 一起使用

【讨论】:

facebook 用 favicon 调用这个个人资料图片.. 试试谷歌。也许你能找到比我更好的东西。【参考方案3】:

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

【讨论】:

【参考方案4】:

根据汤姆的回答,这是获取用户的 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 图片处理程序,并将 &logo 添加到 url

【讨论】:

以上是关于如何获取带有“F”标志的 Facebook 个人资料图片?的主要内容,如果未能解决你的问题,请参考以下文章

固定图标状态

如何在 Bash 中获取带有标志的参数

如何从电子邮件中获取 Facebook 个人资料图片?

如何获取带有图像和视频以及文本的 facebook 提要?

如何从 Facebook 获取带有参数性别、用户喜欢、用户生日的好友列表,

Facebook iOS API:如何获取公开个人资料 URL