2012-11-14 70 views
2

我試圖從與Facebook的FQL查詢我的個人資料圖片獲得pic_crop問題越來越pic_crop與Facebook FQL請求

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 
+0

可能的重複http://stackoverflow.com/questions/12037446/please-explain-fql-profile-table-pic-crop – Neil

+0

不,它不是重複的,該帖子只解釋pic_crop信息。但在我的情況下,我沒有得到有效的答覆。 –

回答

1

從文檔(由我高亮):

pic_crop:包含一個對象:uri:的URL,用於查詢對象的最大尺寸方形配置文件圖片。寬度,高度:此圖片的像素尺寸。左側,頂部,右側,底部:用戶所選作物的像素座標,用於此配置文件圖片

它看起來像Facebook現在創建個人資料圖片的裁剪版的方形圖片 - 檢查你pic_crop.uri獲取URL,它是一個正方形圖片,不管你的實際上傳個人資料圖片是什麼樣子。 (從同一個表進行比較pic_crop.uripic看出差別)

而且,由於版本的圖片似乎總是現在是正方形,他們很可能已經下降作物座標 - 「下降」,如仍然提供它們,以便不依靠這些屬性呈現禮物來打破應用程序,但其價值實際上意味着「根本沒有收穫」。

+1

看起來你是對的。我試圖獲得一個高分辨率的個人資料圖片,但我會手動裁剪到正確的位置和大小。所以看起來不可能了?但是我看到作物信息在返回的url本身中編碼。 「HTTP://profile.ak.fbcdn。net/hprofile-ak-prn1/c5.20.679.679/s320x320/XXXXXXXXXXXXX_n.jpg「所以5,20是左上角座標,679,679是右下角。是否在任何地方記錄或者它是完全不可靠的? –

2

如果用戶在此更新後更改了他/她的個人資料圖片,FB似乎只返回新的較大的裁剪圖像。

編輯: 的IMG通過

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

返回值將是大和裁剪,但圖像通過

返回
https://graph.facebook.com/'.$userid.'/picture?type=large 

不會很大,裁剪,如果用戶沒有更新他/最近她的個人資料圖片

(感謝Facebook讓我們的生活更輕鬆)

ps:這是我在這裏的第一篇文章,我知道這不是一個答案,但我找不到響應按鈕。