Bagaimana cara mengetahui semua pengguna yang me-retweet tweet saya?

17

Halaman "Tweet Anda me-retweet" di Twitter menunjukkan yang mana dari tweet Anda yang telah di-retweet, tetapi biasanya dikatakan "me-retweet oleh @madeuptwitteraccount dan lainnya" apakah ada cara untuk mengetahui (a) berapa banyak orang yang me-retweet tweet dan (B) apa ID twitter mereka?

Christi
sumber
Ini secara efektif adalah pertanyaan yang sama seperti di Stack Exchange di Bagaimana cara mendapatkan daftar semua retweeter di Twitter?
Owen Blacker

Jawaban:

4

Jawaban sejauh ini hanya akan memberi Anda paling banyak 100 retweet. Ada metode API yang mengembalikan hingga 100 entri dari koleksi yang di-cursored (jadi Anda bisa halaman melaluinya untuk mendapatkan lebih banyak).

Ada informasi lebih lanjut di situs Pengembang Twitter di status GET / retweeters / id , meskipun Anda juga ingin membaca halaman mereka tentang Menggunakan kursor untuk menavigasi koleksi .

Diedit untuk menambahkan: Konon, utas pertama di situs Pengembang yang muncul di google cepat memiliki @episod , seorang karyawan Twitter yang mengatakan:

Anda tidak mungkin mencapai semuanya. Data tersebar. Taruhan terbaik Anda adalah dengan menggunakan REST API untuk menentukan banyak pengguna yang melakukan retweet, tetapi data masih akan dibatasi.

Ini paling mudah untuk melacak retweet saat terjadi daripada mencoba menemukannya dari masa lalu. Gunakan API Streaming untuk itu.

Sumber: cara mendapatkan semua retweet dari tweet yang diberikan

Owen Blacker
sumber
3

Baru-baru ini Twitter telah melakukan banyak perubahan dan dengan situs web Twitter baru ini tidak mungkin. Namun, saya menggunakan Tweet Timeline yang memiliki fitur untuk melihat semua tweet Anda di-retweet.

Saya harap ini membantu.

Peter Couch
sumber
1
Apakah situs ini rusak / hilang?
B Seven
redirect ke facebook.com
m2j
0

Jika Anda bersedia melakukan pengkodean, berikut ini cara kerjanya di 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);
        }
    }
}

Kode ini akan mencetak setiap tweet yang Anda buat baru-baru ini, bersama dengan ID dari orang yang me-retweet itu. Beberapa hal cepat yang perlu diperhatikan - sebagian besar baris ini:

 Twitter twitter = TwitApplicationFactory.getjoereddingtonTwitter();

Tidak akan bekerja untuk Anda - itulah saya mendapatkan kunci API saya sendiri dan seterusnya, Anda harus menulis sendiri ...

Joe
sumber