如何获取带有“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_logo
、pic_big_with_logo
、pic_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 个人资料图片?的主要内容,如果未能解决你的问题,请参考以下文章