2013-02-13 69 views
1

我寫了一個FQL查詢來獲取的朋友誰我標籤的名稱 -Facebook的API,通過他的ID獲取朋友的名字

這是FQL查詢這給我的朋友列表中的ID(它的工作原理):

選擇所有者從照片WHERE OBJECT_ID IN(SELECT OBJECT_ID FROM photo_tag WHERE主題=我())

現在我想通過這個查詢得到他們的名字:

SELECT name FROM user WHERE uid IN(SELECT owner FROM photo WHERE object_id IN(SELECT object_id FROM photo_tag WHERE subject = me()))

但是我沒有得到名稱的完整列表,並給出了這個錯誤 - 「遺漏的類型錯誤:無法讀取屬性未定義的‘名’」

回答

0

您的查詢可能會失敗,因爲一些由你內心的查詢返回的owner的ID不屬於用戶。與profile表,而不是嘗試:

SELECT name FROM profile WHERE id IN 
    (SELECT owner FROM photo WHERE object_id IN 
    (SELECT object_id FROM photo_tag WHERE subject=me())) 
+0

首先感謝烏爾快速重播,你的想法是好的,我沒有得到任何錯誤了 - 可是,我還沒有得到所有的ID從名字原來的列表,例如沒有「選擇名稱從配置文件WHERE ID IN」我得到143 ID和我添加「選擇名稱從配置文件WHERE ID IN」我實際上得到36名,買我想我知道爲什麼 - 也許如果一個朋友在幾張照片上給我貼上了幾張標籤,那它只算它幾張? – HezHez 2013-02-13 19:48:00

+0

很有可能。您需要通過FQL獲取這些信息並重新組合這兩個數組。使用'/ me/photos?fields = id,from'通過圖形API獲取它更容易 – cpilko 2013-02-13 19:58:46

相關問題