내 트윗을 리트 윗 한 모든 사용자를 어떻게 찾을 수 있습니까?


답변:


4

지금까지의 답변은 최대 100 개의 리트 윗 만 제공합니다. 그래도 커서 컬렉션의 최대 100 개 항목을 반환하는 API 메서드가 있습니다 (따라서 더 많은 정보를 얻기 위해 페이지를 넘길 수 있습니다).

Twitter 개발자 사이트 ( GET statuses / retweeters / ids) 에 대한 자세한 정보는 커서를 사용하여 콜렉션 탐색 에 대한 페이지를 읽으십시오 .

추가하기 위해 편집 : 즉, 빠른 Google에 노출 된 개발자 사이트의 첫 번째 스레드에는 @episod 가 있으며 트위터 직원 은 다음 과 같이 말합니다.

당신은 그들 모두를 얻을 수 없습니다. 데이터가 퍼져 있습니다. 가장 좋은 방법은 REST API를 사용하여 리트 윗을 수행 한 많은 사용자를 판별하는 것이지만 데이터는 여전히 제한됩니다.

과거의 리트 윗을 찾으려고하는 것이 아니라 리트 윗을 추적하는 것이 가장 쉽습니다. 이를 위해 스트리밍 API 를 사용하십시오 .

출처 : 주어진 트윗의 모든 리트 윗을 얻는 방법


3

최근 트위터는 많은 변화를 겪었으며 새로운 트위터 웹 사이트에서는 불가능합니다. 그러나 타임 라인 트윗 을 사용 하여 리트 윗 된 모든 트윗을 볼 수 있습니다.

이게 도움이 되길 바란다.


1
이 사이트가 다운 / 사라 졌습니까?
B Seven

facebook.com으로 리디렉션
m2j

0

코딩을 기꺼이하려는 경우 Java에서 어떻게 작동합니까?

package twitone;

import java.util.ArrayList;
import java.util.Map;

import twitone.structure.BaseTwitterClass;
import twitone.structure.TwitApplicationFactory;
import twitter4j.Paging;
import twitter4j.RateLimitStatus;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;

public class MyRetweeters extends BaseTwitterClass {

    private Twitter twitter;

    public MyRetweeters(Twitter twitter) {
        this.twitter = twitter;
    }

    public static void main(String[] args) throws TwitterException {

        Twitter twitter = TwitApplicationFactory.getjoereddingtonTwitter();
        MyRetweeters unit = new MyRetweeters(twitter);
        String temp[] = unit.get();
        for (String string : temp) {
            System.out.println(string);
        }
    }

    public String[] get() {
        ArrayList<String> names = new ArrayList<String>();
        try {
            for (Status status : twitter.getUserTimeline(new Paging(1, 200))) {
                System.out.println(status.getText());
                if (status.getText().startsWith("RT")) {
                    // skip
                } else if (status.getRetweetCount() > 0) {
                    // Because I don't want to breach
                    // Twitter's rate limits
                    // okay the below has been added to keep within the rate
                    // limited.
                    waitUntilICanMakeAnotherCall();
                    // end keeping within rate limit code.
                    for (Status rt : twitter.getRetweets(status.getId())) {
                        names.add(rt.getUser().getScreenName());
                        System.out.println("---"+rt.getUser().getScreenName());
                    }
                }
            }
        } catch (TwitterException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return names.toArray(new String[names.size()]);
    }

    /**
     * @throws TwitterException
     * @throws InterruptedException
     */
    protected void waitUntilICanMakeAnotherCall() throws TwitterException, InterruptedException {
        {
            Map<String, RateLimitStatus> temp = twitter.getRateLimitStatus();

            RateLimitStatus temp2 = temp.get("/statuses/retweets/:id");
            System.out.println(temp2.getRemaining());
            if (temp2.getRemaining() == 0) {
                Thread.sleep((temp2.getSecondsUntilReset() + 5) * 1000);
                return;
            }
            System.out.println(temp2.getSecondsUntilReset());
            int secondstosleep =1+ temp2.getSecondsUntilReset() / temp2.getRemaining();
            System.out.println(secondstosleep);
            Thread.sleep(secondstosleep * 1000);
        }
    }
}

이 코드는 리트 윗 한 사람들의 ID와 함께 최근에 작성한 모든 트윗을 인쇄합니다. 주목해야 할 몇 가지 빠른 것-대부분이 줄 :

 Twitter twitter = TwitApplicationFactory.getjoereddingtonTwitter();

당신을 위해 작동하지 않습니다-그것은 내 자신의 API 키를 얻는 등 등등, 당신은 자신의 것을 작성해야합니다 ...

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.