2011-06-11 7 views
18

나는 많은 트위터 복권과 같은 일을하는 많은 회사를 보았는데, 사용자가 트윗을 리트 윗 한 다음 리트 윗 뽑기 중 하나가 상품을 얻는다. 나는 어떻게 모든 retweeters의 명부를 얻거나 우승자를 뽑을 까 생각해 보았는가?Twitter에서 모든 retweeters 목록을 가져 오는 방법은 무엇입니까?

Twitter API를 확인한 결과이 항목은 GET statuses/retweets/:id이지만 최대 100 개의 retweeters를 반환합니다. 그게 유일한 방법인가요?

+1

내가 FavStar이 일을 몇 가지 방법이 알고 있지만, 폴링에 의해 그것을 할 경우 내가 궁금하네요. 예 : http://favstar.fm/users/hipsterhacker/status/78530718464094210 –

답변

16

거의 정확하게이 작업을 수행하는 커플 서비스가 좋아 보인다. 빠른 google은 http://onekontest.com/이고 다른 몇 가지 Twitter 컨테스트 서비스가 있지만 API 변경 사항을 따라 가지 못해서 서로 다른 수준의 깨진 것으로 보입니다.

Twitter API 자체에 관해서는 100 개가 넘는 응답을 기대하고 있다면 GET statuses/mentions을 사용하는 것이 가장 적합하다고 생각합니다. 이 API 호출은 사용자의 멘션을 반환하며 include_rts 플래그를 전달하여 트윗의 리트 윗을 포함 할 수 있습니다. 그런 다음 특정 트윗의 RT를 나열하려면 반환 된 데이터의 in_reply_to_status_id 필드를 확인하여 원래의 트윗 ID와 일치하는지 확인하십시오. 이 API 호출은 마지막 800 개의 상태 (한 번에 200 개) 만 반환하므로 많은 양의 데이터가 예상되는 경우 모든 트윗을 가져 오기 위해 시간이 지남에 따라 API를 반복적으로 폴링해야합니다. 나는 favstar와 같은 서비스가 정확히 큰 규모로 이것을하고 있다고 상상합니다.

실제로 이와 같은 작업을 수행 할 코드를 찾고 있다면이라는 sinatra 앱을 작성하여 시간 경과에 따라 Twitter를 쿼리하여 여러 가지 종류의 쿼리를 추적 할 수 있습니다. 그것은 꽤 거칠고, 특히 이것을 구체적으로 다루지는 않습니다 만, 코드를 작성하고 싶다면 올바른 방향으로 가리킬 수 있습니다.

+0

매우 자세하고 구체적인!제 질문에 완전히 답할 것 같습니다. 이것을 설명해 주셔서 감사합니다! :) – Rihards

+0

그건 좋은 해킹이야! :-) – aalaap

+1

하지만 GET 상태/멘션은 인증하는 사용자에게만 적용됩니다. 따라서이 해킹으로 트위터를 게시 한 경우에만 retweeterers 목록을 찾을 수 있습니다. 우리 개인 계정에 속하지 않는 트윗에서 리트 웨이 터리스트를 얻는 다른 방법이 있습니까? – salvador

2

muffinista의 방법이 마음에 들지만 retweets의 전체 목록을 원한다면 retweet 전자 메일 알림을 사용하고 주제와 일치하는 전자 메일 상자를 폴링하는 스크립트를 작성하면됩니다 "트위트를 retweeted! " 데이터를 테이블에 넣습니다. 처음부터이 작업을 수행하십시오.

5

최대 100 개의 항목을 반환하는 커서가있는 컬렉션 (자세한 내용을 보려면 페이지를 넘길 수 있음)을 반환하는 API 방법이 있습니다.

트위터 개발자 사이트에 대한 자세한 내용은 GET statuses/retweeters/ids입니다. Using cursors to navigate collections에 관한 페이지도 읽어 보시기 바랍니다.

추가 편집 : 말했다 , 빠른 구글에 떠오른 개발자 사이트의 첫 번째 스레드가 트위터 직원이 말하는 @episod을했습니다

당신은 가능성이 모두 접근 할 수 없습니다 그들. 데이터가 분산됩니다. 가장 좋은 건 REST API를 사용하여 리트 윗을 수행 한 많은 사용자를 결정하는 것이지만 데이터는 계속 제한됩니다.

리트 윗이 과거의 것을 찾지 않고 일어나는 것처럼 추적하는 것이 가장 쉽습니다. 이를 위해서는 Streaming API을 사용하십시오.

출처 : how to get all retweet of a given tweet

관련 문제