2011-09-21 54 views
2

我試圖在Facebook上使用Facebook SDK for C#從Facebook上的所有朋友處獲取所有事件。我唯一的問題是,這太慢了。使用Facebook C#SDK獲取朋友的事件速度太慢

這是我要做的事:

  • 的所有朋友們列表 - client.Get("me/friends");
  • 迭代通過使用foreach
  • 對於每一個朋友讓他的所有事件的列表中的所有朋友 - client.Get("friend_id/events");
  • 合併所有的名單

結果是我ex把它看成是,但整個過程持續了幾分鐘。有沒有辦法一次性獲得所有朋友的活動或任何其他解決方案來加速?

謝謝!

+1

我想這主要取決於要迭代的朋友和事件的數量,要通過的數據量以及處理的數量:您是否考慮過對正在進行的過程進行異步更新UI(給出用戶有些即時反饋)?如果它不是一個基於用戶的系統,而是一個系統工具,那麼時間的長短是否重要? –

+1

它需要一段時間的原因是你得到每個朋友的數據,爲了這當然需要一段時間。解決方案是在for循環中啓動多個線程,並在線程完成時更新該朋友的信息。 –

回答

1

選項是建立FQL Query(Facebook查詢語言查詢)

SELECT name, venue, location, start_time FROM event WHERE eid in 
(SELECT eid FROM event_member 
where uid in 
(SELECT uid2 FROM friend WHERE uid1 = me()))