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 ...