(1) TwitterのAPIライブラリ(Twitter4j)でフォローを行う方法
(1-1) 構文
(1-2) サンプルプログラム
(1) TwitterのAPIライブラリ(Twitter4j)でフォローを行う方法
この記事ではTwitter4jライブラリを使って、アカウントのフォローを行うプログラムを作成します。これを応用していけば、複数のアカウントを一括でフォローする事も可能になります。
(1-1) 構文
アカウントのフォローは「twitter.createFriendship()」メソッドで行う事ができます(twitterはTwitterクラスのインスタンスです。
| クラス | |
| メソッド名 | createFriendship |
| 戻り値の型 | User |
| 説明 | 認証されたユーザーが指定したID(またはユーザID)のアカウントをフォローします。 |
(1-2) サンプルプログラム
(サンプルプログラム)
import twitter4j.IDs;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.User;
import twitter4j.conf.ConfigurationBuilder;
public class CreateFriendShip {
public static void main(String[] args) {
//#### 【事前準備】キー認証など
//# インスタンス生成
ConfigurationBuilder cb = new ConfigurationBuilder();
//# キー情報の設定
//# 「.setOAuthXXXX」の引数にはご自身の開発者アカウントのIDを代入します
cb.setDebugEnabled(true)
.setOAuthConsumerKey("[ご自身のOAuthConsumerKey]")
.setOAuthConsumerSecret("[ご自身のOAuthConsumerSecret]")
.setOAuthAccessToken("[ご自身のOAuthAccessToken]")
.setOAuthAccessTokenSecret("[ご自身のOAuthAccessTokenSecret]");
//# フォロー対象を保持する配列
//# (配列のサイズはフォローしたい数に合わせて変更)
String follow_target[] = {"[フォロー対象ユーザ名]","[フォロー対象ユーザ名]","[フォロー対象ユーザ名]"};
try {
//#### (事前準備)各種Twitterインスタンスの生成
//# ファクトリクラスのインスタンス生成
TwitterFactory tf = new TwitterFactory(cb.build());
//# Twitterクラスのインスタンス生成
Twitter twitter = tf.getInstance();
//#### ①フォローターゲットの対象を格納するオブジェクト
//#### ※フォローしたユーザの情報(createFriendshipの戻り値User)を格納用
User user_target;
System.out.println("#### フォロー処理開始 ####");
//#### ②フォロー対象ユーザをループし、それぞれフォロー
for(int i=0; i<follow_target.length; i++) {
//# フォローの実施
user_target = twitter.createFriendship(follow_target[i]);
//# フォローしたユーザー名の表示
System.out.println("フォロー完了:"+user_target.getName());
}
System.out.println("#### フォロー処理完了 ####");
System.exit(0);
} catch (TwitterException te) {
te.printStackTrace();
System.out.println("#### フォロに失敗しました: " + te.getMessage());
System.exit(-1);
}
}
}
(図121)実行結果例

このサンプルプログラムを実用的なレベルに持って行くには「String follow_target[] = {}」内に入れる値を機械的に出力する前段のプログラムがあると、効果を発揮出来るかなと感じています(数件なら良いですが、数百単位だと手で1つ1つ書くのは厳しい・・)。こちらについてはまた別途ご紹介できたらと思います(⇒★準備中)