<目次>
(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)実行結果