2011-10-21 95 views
1

當您通過Graph API訪問某人的臉書朋友時,是否可以通過教育進行過濾?我正在努力使網站只顯示某人在某所學校就讀的朋友。現在,我可以通過撥打電話獲得用戶的朋友,然後迭代每個朋友,進行後續調用並檢查他們的教育數據是否匹配,但這看起來效率很低,需要很長時間才能工作。想法?見下面我的代碼:Facebook Graph API:按照教育歷史篩選Facebook朋友

def set_up_graph 
    @access_token = @facebook_cookies["access_token"] 
    @graph = Koala::Facebook::API.new(@access_token) 
    @profile = @graph.get_object("me") 
    @friends = @graph.get_connections("me","friends") 
end 

def find_network_friends 
    @netfriends = Set.new 
    @friends.each do |friend| 
    id = friend["id"] 
    tempf = @graph.get_object(id) 
    education = tempf["education"] 
    unless education == nil 
    education.each do |ed| 
     if ed["school"]["name"] == "Pomona College" 
     @netfriends.add(id) 
     end 
    end 
    end 
end 

回答

0

你看着FQL

+0

剛剛發現,現在我努力嘗試撿起它。我可以使用這個查詢: 「SELECT uid2 FROM friend WHERE uid1 = me()」 讓我所有的朋友,但不幸的是,它不會讓我添加「教育」(和「隸屬關係」和「位置」)到選擇部分。我覺得可能有辦法做到這一點,所以我現在深入研究,有什麼想法? –

+0

另外,剛纔看到你可以使用多重查詢,但唯一的例子是在PHP中,我使用的是Ruby,所以這需要一些時間來弄清楚。 –