<目次>
(1) TwitterのAPIライブラリでリツイートした人の一覧を取得する方法
(1-1) 構文
(1-2) サンプルプログラム
(1) TwitterのAPIライブラリでリツイートした人の一覧を取得する方法
この記事ではTwitter4jライブラリを使って、特定のツイートに対してリツイートした人の一覧を出力する方法をご紹介します(これはスマホ画面から見た方が普通に速いかもですが・・)。
(1-1) 構文
リツイートした人の情報を取得するには「getRetweets」メソッドを使用します。このメソッドはリツイートした人のStatus型(名前やユーザIDなど、そのユーザのステータスに関する情報全般を保持)のListを返却します。
(図111)

(構文)
[Twitter型インスタンス].getRetweets([TweetID]);
List<Status> statuses = twitter.getRetweets(1351822540784603137L);
(1-2) サンプルプログラム
import java.util.List;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.conf.ConfigurationBuilder;
public class GetRetweetUser {
public static void main(String args[]) {
//#### 事前準備:認証情報の設定
//# ConfigurationBuilderインスタンス生成
ConfigurationBuilder cb = new ConfigurationBuilder();
//# 認証キー情報の設定
cb.setDebugEnabled(true)
.setOAuthConsumerKey("[ご自身のOAuthConsumerKey]")
.setOAuthConsumerSecret("[ご自身のOAuthConsumerSecret]")
.setOAuthAccessToken("[ご自身のOAuthAccessToken]")
.setOAuthAccessTokenSecret("[ご自身のOAuthAccessTokenSecret]");
//#### 事前準備:各種Twitterインスタンスの生成
//# ファクトリクラスのインスタンス生成
TwitterFactory tf = new TwitterFactory(cb.build());
//# Twitterクラスのインスタンス生成
Twitter twitter = tf.getInstance();
//# getRetweetsメソッドでTweetに対するRetweet情報を取得
try {
List<Status> statuses = twitter.getRetweets(1351822540784603137L);
//# 各ステータスをループして、リツイートした人ごとに情報を出力
for(Status status : statuses) {
//# リツイートした人のIDとNameをコンソール表示
System.out.println(
" Retweeter ID:"+status.getUser().getId()
+" Retweeter Name:"+status.getUser().getScreenName()
);
}
}catch(TwitterException e) {
System.err.print("Failed to seach tweets: "+e.getMessage());
}
}
(図121)実行結果
