2011-09-21 4 views
2

C# 용 Facebook SDK를 사용하여 Facebook의 모든 친구들로부터 모든 이벤트를 얻으려고합니다. 내가 가진 유일한 문제는 너무 느리다는 것입니다.Facebook C# SDK를 사용하여 친구의 이벤트 받기 너무 느림

이다 나는 그것을 할 방법 : 모든 친구의

  • 가져 오기 목록 - client.Get("friend_id/events");
  • - 그의 모든 이벤트의 목록을 각 친구를 위해 foreach
  • 을 사용하여 모든 친구를 통해 client.Get("me/friends");
  • 으로 반복을 모든 목록을 병합하십시오.

결과는 이전과 같습니다. 그러지 만 전체 과정은 수 ​​분간 지속됩니다. 이 모든 것을 가속화하기 위해 한 가지 방법이나 다른 해결책으로 모든 친구들의 이벤트를 얻을 수있는 방법이 있습니까?

감사합니다.

+1

이것은 주로 반복 할 친구 및 이벤트의 수, 처리 할 데이터의 양 및 처리에 따라 달라집니다 : 진행중인 프로세스의 길이에 대해 UI를 비동기 적으로 업데이트하는 것에 대해 생각해 봤습니까? 사용자는 다소 즉각적인 피드백)? 사용자 기반 시스템이 아니라 시스템 도구 인 경우 시간이 그렇게 중요합니까? –

+1

잠시 시간을내는 이유는 순서대로 각 친구의 데이터를 얻는 것입니다. 해결책은 for 루프 내에서 여러 스레드를 시작하고 스레드가 완료되면 해당 친구에 대한 정보를 업데이트하는 것입니다. –

답변

1

옵션 또한 아마 빠를 것 FQL query on the event 테이블을 batched requests를 사용하지만, 실행 한 번에 배치 20 친구를 실험 할 수

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())) 
1

FQL Query (페이스 북 쿼리 언어 쿼리)를 구축하는 것입니다.

관련 문제