我想獲得用戶和他或她的每個朋友之間的共同朋友的數量。FQL和圖形API:找到所有Facebook朋友之間的共同朋友
我已經廣泛地研究了圖api和fql來嘗試解決這個問題。我已經看過圖表api me/mutualfriends/<uid>
但是,如果對大量朋友(> 1k)進行此操作,那麼向每個朋友之間的共同朋友發送請求太多了。
然後,我使用FQL和Graph API在批處理請求(一次最多50個)上嘗試了此操作。這仍然導致一個查詢得到所有的朋友,然後N查詢與每個朋友的共同朋友。即使一次批量生產50個,也需要相當長的時間。
這是主要的FQL查詢:
select uid1 from friend where uid2 = FRIEND_ID and uid1 in (select uid2 from friend where uid1 = me())';
這是圖形API網址:
/me/mutualfriends/FRIEND_ID
我使用批量處理,如:
$facebook->api('/?batch='.json_encode($batch), 'POST');
,這時每個查詢在該批次是如下的陣列:
$cur = array('method'=>'GET', 'relative_url'=> $relative_url);
使用圖形API而不是fql似乎更快,但是有沒有辦法在一個查詢中獲得所有朋友的共同朋友?或者是否有更快的方法來做到這一點?我已經閱讀了關於SO的不同部分的mutual_friend_count,但還沒有得到這個工作。