使用Facebook fql请求获取pic_crop的问题

时间:2012-11-14 11:33:12

标签: facebook facebook-fql

我想通过Facebook fql 查询从我的个人资料照片中获取pic_crop

SELECT pic_crop from profile where id=me()

我得到了回复:

    "uri": "http://profile.ak.fbcdn.net/hprofile-ak-prn1/XXXX, 
    "width": 320, 
    "height": 320, 
    "left": 0, 
    "top": 0, 
    "right": 1, 
    "bottom": 1

如果我尝试为我的朋友提供相同的答案,我会得到相同的答案:0,0,1,1代表全貌,因此完全没用。

Facebook改变了一些东西,因为我记得为* pic_crop *获得了真实的价值,就像这些:

"uri": "http://profile.ak.fbcdn.net/hprofile-ak-prn1/XXXX, 
"width": 320, 
"height": 320, 
"left": 0.11466, 
"top": 0.06897, 
"right": 0.88534, 
"bottom": 0.93103

2 个答案:

答案 0 :(得分:2)

如果用户在此次更新后更改了他/她的个人资料照片,则FB似乎只返回新的大裁剪图像。

编辑:

返回的img
https://graph.facebook.com/".$userid."/profile?fields=pic_crop,name"

会变大并裁剪,但

返回的图像
https://graph.facebook.com/'.$userid.'/picture?type=large
如果用户最近没有更新他/她的个人资料图片,

将不会很大并且会被裁剪

(感谢Facebook让我们的生活更轻松)

ps:这是我在这里发表的第一篇文章,我知道这不是答案,但我找不到回复按钮。

答案 1 :(得分:1)

来自文档(由我强调):

  

pic_crop:包含以下内容的对象:uri:要查询的对象的最大尺寸方形图像的URL。 width,height:此图片的像素尺寸。 left,top,right,bottom:用户选择裁剪的像素坐标此个人资料照片

看起来Facebook现在为个人资料图片的裁剪版本创建了一个正方形图像 - 检查您从pic_crop.uri获得的网址,无论您实际上传的个人资料图片是什么样子,它都是方形图片。 (从同一张表中比较pic_crop.uripic以查看差异。)

由于这个版本的图片现在似乎总是正方形,他们很可能已经删除了裁剪坐标 - “丢弃”,因为仍然提供它们所以不要破坏依赖于这些的应用程序属性存在,但实际上意义上的数字意味着“根本没有作物”。