2012-10-18 42 views
0

最新的照片我試着用這裏所描述的方法得到的最新照片FO我的朋友: FQL - Can i get photos of my friends posted this week正從朋友不工作

起初,這似乎是工作正常,但後來我發現了一些照片,我的朋友們不是,即使他們有較高的時間戳取... (照片都是由創建場從照片 FQL表排序)後位的調試,我注意到這個問題是在

SELECT aid FROM album WHERE owner IN 
    (SELECT uid2 FROM friend WHERE uid1=me() 

如果我通過我的朋友的ID的短名單他們正在排序正確,但是當我通過一個完整的列表並不是所有的朋友都包含在查詢結果中...

任何想法,爲什麼這不工作?在「SELECT XXX FROM YYY WHERE ZZZ IN(?)」查詢中可以傳遞多少個值是否有任何限制?

預先感謝任何建議

回答

2

的限制似乎是在FQL查詢的任何部分返回約5000條記錄。

假設您的朋友少於5000人,則可以通過修改查詢來檢查返回的專輯數量,以檢查modified_major列,以僅返回在感興趣的時段添加了照片的專輯。您可以交替查看modified列以返回任何專輯修改。

此外,它看起來像aidpid是在折舊的路徑。新的開發應該使用object_id以實現最大的兼容性。

因此,要獲得該有自2012-10-01更新照片的所有專輯,你可以使用此查詢:

SELECT object_id FROM album WHERE owner IN 
    (SELECT uid2 FROM friend WHERE uid1=me()) AND modified_major > 1349049600 

在你outter查詢變化aidalbum_object_idpidobject_id

+0

感謝您的回覆,我會嘗試併發布我的結果 –

+0

我試過以下FQL查詢:SELECT pid,aid,owner,link,src_big,src_small,created,modified FROM photo WHERE album_object_id IN (SELECT object_id FROM album WHERE老闆IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND modified_major> 1349049600 ORDER BY modified_major desc ) ORDER BY modified desc 但它仍不包含所有照片(您提供的查詢僅返回我的3張專輯情況下,取代SELECT uid2 FROM friend WHERE uid1 = me()與我的一個朋友ID給我看,有其他相冊沒有在原始查詢中獲取) –

+0

NVM,查詢可能是正確的,但有一個錯誤: http://developers.facebook.com/bugs/102161909944898,不過我會接受你的回答,因爲無論如何這是更好的方式獲得照片 –