我已經嘗試使用FQL和Graph API完成此操作。如何使用FQL或Graph API檢索僅包含一個標記用戶的照片或照片?
我開始嘗試這種FQL電話:
$fql = "SELECT pic, src_big FROM photo WHERE pid IN (SELECT pid FROM photo_tag WHERE subject = me())";
由此我得到的結果同時包含給定用戶的標籤圖像(在這種情況下:我())。但是,這些圖像可能包含多個標記的用戶。我希望通過使用SQL HAVING子句和COUNT(http://stackoverflow.com/a/3710501/1406986)來解決此問題。不幸的是我不認爲FQL支持這個功能,因爲當我嘗試這個呼叫時:
$fql = "SELECT pic, src_big FROM photo WHERE pid IN (SELECT pid FROM photo_tag HAVING COUNT(subject) = 1";
我從Facebook收到一個錯誤。如果FQL實際上支持此功能,請糾正我。
在嘗試這種使用Graph API我提出了以下要求,以解決:
$userPics = $facebook->api('/me/photos');
這將返回用戶的照片,不過,從這一點上,我不得不每一張照片迭代尋找那些只包含一個標籤。我發現這是不切實際的,例如,如果我需要爲每個只包含他們的朋友而沒有其他人的用戶朋友找到一張圖片。要做到這一點,我需要單獨檢索他們朋友的所有照片,然後遍歷所有這些照片。
我仍在尋找一個好的解決方案。請發佈您的想法和解決方案。
感謝您的解決方案法比奧!我在FQL瀏覽器中查看了一下,它很好地工作。現在,如果只有用戶可以完全標記包含多個人的照片,或者是否有某種方法可以過濾掉這些圖片......哈哈 –