2011-04-13 72 views

回答

2

我經歷了這個鏈接來了,聽起來很相似你的問題
FQL for returning all album names and object id's of the albums for ALL friends of a user

如果您從他的示例旁註中刪除了「限制25」作爲ifaour,查詢將如下所示並執行任務

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

第2步:讓我們把它變成一個多查詢格式

{"query1":"SELECT aid, owner, name FROM album WHERE owner IN (SELECT uid2 FROM friend WHERE uid1=me())","query2":"SELECT owner, album_object_id, object_id FROM photo WHERE aid IN (SELECT aid FROM #query1)"} 

我想你需要修改字段QUERY2它適合你的方案

它們都將返回爲2有5000個結果限制的大胖子json對象...我還沒有想出解決方案來查詢下一個5000,其餘的...

另外,我認爲在FQL和Graph API中都存在一個bug,一些我的朋友的專輯沒有顯示結果...(是的,有正確的許可和必要的範圍b rowse和查詢...)我已經解決了這個問題的錯誤報告

+0

IN子句對項目數量有限制,所以如果你有超過(一些隨機#75左右)的朋友,IN(SELECT uid2來自朋友...)實際上並不包含所有的朋友,而是前75個左右的ID按 – zachallia 2011-11-02 23:38:21

+0

排序。這5000個結果限制了這個問題。我想如果我們想要更準確的結果,我們需要將整個程序分解成小部分來首先進行查詢。 比方說,首先得到完整的朋友列表,並獲得他們的專輯列表(也許每個帳戶的每個查詢?)...然後通過專輯並獲取照片? 但是,當你查詢你的朋友的每一張專輯(或照片)時,你會意識到我上面提到的API錯誤...他們中的一些會返回一個空對象,即使你已經得到了所需的一切。 – Madevil 2011-11-03 00:41:06