Làm cách nào để tìm ra tất cả những người dùng đã chuyển tiếp một tweet của tôi?


17

Trang "Tweet của bạn được chuyển tiếp" trên Twitter cho thấy những bài đăng nào của bạn đã được chuyển tiếp, nhưng thông thường nó có nội dung như "được đăng lại bởi @ADEuptwitteraccount và những người khác" có cách nào để tìm hiểu (a) có bao nhiêu người đã chuyển tiếp một tweet và (b) ID twitter của họ là gì?


Đây thực sự là câu hỏi tương tự như trên Stack Exchange tại Làm thế nào để có được danh sách tất cả các r tweeter trên Twitter?
Owen Blacker

Câu trả lời:


4

Các câu trả lời cho đến nay sẽ chỉ cung cấp cho bạn tối đa 100 tin nhắn lại. Tuy nhiên, có một phương thức API trả về tối đa 100 mục của bộ sưu tập bị nguyền rủa (vì vậy bạn có thể trang qua nó để lấy thêm), mặc dù vậy.

Có nhiều thông tin hơn trên trang web Nhà phát triển Twitter tại trạng thái GET / r tweeters / id , mặc dù bạn cũng sẽ muốn đọc trang của họ về Sử dụng con trỏ để điều hướng các bộ sưu tập .

Đã chỉnh sửa để thêm: Điều đó nói rằng, chủ đề đầu tiên trên trang web Nhà phát triển nổi lên trong một google nhanh chóng có @episod , một nhân viên Twitter cho biết:

Bạn có thể không nhận được tất cả chúng. Các dữ liệu được trải ra. Đặt cược tốt nhất của bạn là sử dụng API REST để xác định nhiều người dùng đã thực hiện chuyển tiếp tin nhắn, nhưng dữ liệu vẫn sẽ bị hạn chế.

Dễ dàng nhất để theo dõi tin nhắn lại khi chúng xảy ra thay vì cố gắng tìm chúng từ quá khứ. Sử dụng API truyền phát cho điều đó.

Nguồn: làm thế nào để có được tất cả các tin nhắn lại của một tweet nhất định


3

Gần đây Twitter đã có rất nhiều thay đổi và với trang web Twitter mới, điều này là không thể. Tuy nhiên, tôi sử dụng Timeline Tweets có tính năng để xem tất cả các tweet của bạn được chuyển tiếp.

Tôi hi vọng cái này giúp được.


1
Là trang web này xuống / đi?
B Bảy

chuyển hướng đến facebook.com
m2j

0

Nếu bạn sẵn sàng thực hiện một số mã hóa, đây là cách nó sẽ hoạt động trong 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);
        }
    }
}

Mã này sẽ in ra tất cả các tweet bạn đã thực hiện gần đây, cùng với ID của những người đã chuyển tiếp lại nó. Một vài điều nhanh chóng cần lưu ý - chủ yếu là dòng này:

 Twitter twitter = TwitApplicationFactory.getjoereddingtonTwitter();

Sẽ không hiệu quả với bạn - đó là tôi nhận khóa API của riêng mình và cứ thế, bạn sẽ phải tự viết ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.