Bir tweet'imi retweetleyen tüm kullanıcıları nasıl bulabilirim?


Yanıtlar:


4

Şimdiye kadar cevaplar size en fazla 100 retweet verecektir. Yine de , bir lanetli koleksiyonun en fazla 100 girişini döndüren bir API yöntemi vardır (böylece daha fazla bilgi almak için sayfa oluşturabilirsiniz).

Twitter Geliştiricileri sitesinde GET durumlarında / retweeter / kimliklerinde daha fazla bilgi bulunmaktadır , ancak koleksiyonlarda gezinmek için İmleçleri kullanma hakkındaki sayfalarını da okumak istersiniz .

Eklemek için düzenlendi: Bununla birlikte , bir Google çalışanı hızlı bir Google'da ortaya çıkan Geliştiriciler sitesindeki ilk iş parçacığında @episod var :

Muhtemelen hepsine ulaşamazsınız. Veriler yayılır. En iyi seçeneğiniz, retweet'i gerçekleştiren kullanıcıların çoğunu belirlemek için REST API'sini kullanmaktır, ancak veriler yine de kısıtlanacaktır.

Retweet'leri geçmişte bulmaya çalışmak yerine, olduklarından takip etmek en kolay yoldur. Bunun için Akış API'sını kullanın .

Kaynak: belirli bir tweet'in tüm retweet'ini nasıl alabilirsiniz?


3

Son zamanlarda Twitter çok fazla değişiklik yaptı ve yeni Twitter web sitesinde bu mümkün değil. Ancak, tweet'lerinizin tümünü görüntülemek için bir özelliği olan Zaman Çizelgesi Tweetleri kullanıyorum .

Umarım bu yardımcı olur.


1
Bu site kapandı / kayboldu mu?
B Seven

facebook.com adresine yönlendiriliyor
m2j

0

Bazı kodlama yapmaya istekli iseniz, java'da nasıl çalışacağı ...

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);
        }
    }
}

Bu kod, yakın zamanda yaptığınız her tweet'i ve tekrar tweetleyen kişilerin kimliklerini yazdırır. Dikkat edilmesi gereken birkaç hızlı şey - çoğunlukla bu satır:

 Twitter twitter = TwitApplicationFactory.getjoereddingtonTwitter();

Senin için çalışmayacak - bu benim kendi API anahtarımı almak ve böylece, kendi yazmak zorunda kalacak ...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.