2014-02-17 2 views
1

우리는 특정 사용자로부터 트윗을 얻기 위해 twitter4j userTimeLine을 사용하고 있습니다. 어떻게 maxId를 사용하고 마지막으로 트윗을 가져 와서 트윗을 가져 옵니까?MaxId를 사용하여 마지막 가져 오기에서 특정 사용자의 트윗 가져 오기

내 소스 코드를 다음과 같이

public List<Status> userTimeLine(String keyWord, int page, int count) { 

     log.info("Showing user timeline."); 

     List<Status> statuses = new ArrayList<Status>(0); 
     Paging paging = new Paging(page, count); 
     try { 
      statuses = twitter.getUserTimeline(keyWord, paging); 
     } catch (TwitterException e) { 
      log.error("Unable to find user timeline", e); 
     } 

     return statuses; 
    } 

이 코드는 첫 번째 가져 오기 100 개 트윗을 반환합니다. 두 번째 가져 오기에서 사용자가 게시 한 새 짹짹이 있으면 102 [100 (마지막 가져온 짹짹) +2 (새 짹짹)]을 검색합니다. 그렇지 않으면 각 가져 오기마다 동일한 100 개의 트윗을 반환합니다.

마지막으로 트윗을 가져 와서 트윗을 어떻게 풀 수 있습니까?

+0

제발, 우리는 그것에 sthg 볼 수 있습니다. –

답변

2

페이징을 사용하여 트위터 (상태 ID 별)를 지정하여 sinceId 및 maxId 메소드를 사용하여 게시 된 트윗을 가져올 수 있습니다. 당신이 일 here을 많이 찾을 수 있습니다

Paging paging = new Paging(1, 10).sinceId(258347905419730944L).maxId(258348815243960320L); 
List<Status> statuses = twitter.getHomeTimeline(paging); 

: 예를 들어

since_id: returns elements which id are bigger than the specified id 
max_id: returns elements which id are smaller than the specified id 

, 또한 당신이 그렇게 sthg을 사용할 수 있습니다;

Query query = new Query("from:somebody").since("2011-01-02"); 
Twitter twitter = new TwitterFactory().getInstance(); 
QueryResult result = twitter.search(query); 
+0

Semih .. sinceId 및 maxId의 값을 얻는 방법을 설명 할 수 있습니까? – SST

+1

sinceId 또는 maxId를 사용하는 대신 더 유용하고 사용하기 쉬운 페이지 매김을 사용합니다. 당신은 페이지 매김을 봐야합니다, 나는 당신에게 작은 샘플 코드를 보내드립니다 :) –

+0

Semih. 당신의 도움에 감사드립니다. 당신은 페이지 매김을위한 샘플 코드를 보낼 수 있습니까 ??? – SST

관련 문제