Java

JavaからTwitter4jを使ってタイムラインを表示してみる

今、Playframework2でTwitterアプリを作っています。
ですが、最初にTwitterの準備をしなければならないことがわかりました。

JavaでTwitterを操作するのであれば・・・。以前から名前だけは知っていたTwitter4jを使うことにしました。
ですが、TwitterのAPIを操作するにはTwitter上からOAuthの設定などが必要ということがわかりました。
登録作業をしてみたいと思います。

Twitterにアプリケーションの登録

TwitterのAPIを外部から操作することためにアプリケーションの登録を行います。
まず、ツイッターの技術サイトを開きます。
https://dev.twitter.com/

ちなみに、ご自身のアカウントでTwitterにログインしておいてください。
とりあえずトップページを開くと、右上に自分のアイコンが表示されるので、これをクリックします。
すると、My applicationsというリンクが表示されるので、それをクリックします。
Twitter Developers-1

My applicationsのページでCreate new applicationsをクリックします。
My applications | Twitter Developers

必須項目を入力します。入力完了したら、画面の枠外ですが、かなり難易度の高いCAPTCHAがあるので、これを頑張って入力します。今回の作業で一番ハードルが高いかもしれません。
Create an application | Twitter Developers

My applicationsのページを開くと、登録したアプリケーションが表示されています。
My applications | Twitter Developers-1

TwitterのConsumer keyとsecretの取得

上記手順で作成したアプリケーションのページを開くと、お目当てのConsumer keyとsecretが表示されております。メモメモします。
下のキャプチャでいうと、ベタ塗りして隠してある部分です。
beeete2-test | Twitter Developers

上記キャプチャでは切れていますが、下の方にCreate New My Access Tokenみたいなボタンがあるので、これもクリックしておきAccess Tokenも作成しておきます。

以上で、Twitter上での作業は終わりです。
次に、Twitter4jを使ってタイムラインを取得してみます。

Twitter4jでタイムラインを取得して表示してみる

僕はmavenで構成管理していないので、Twitter4jをダウンロードして、中に含まれるjarファイルにクラスパスを通します。
僕の場合は、twitter4j-core.jarにクラスパスを通しました。
で、以下の様なサンプルプログラムを記述して実行します。

[java]
@Test
public void test() throws Exception {
final String TWITTER_CONSUMER_KEY = "取得したコードを入力";
final String TWITTER_CONSUMER_SECRET = "取得したコードを入力";

final String TWITTER_ACCESS_TOKEN = "取得したコードを入力";
final String TWITTER_ACCESS_TOKEN_SECRET = "取得したコードを入力";

// アクセストークンの設定
AccessToken token = new AccessToken(TWITTER_ACCESS_TOKEN, TWITTER_ACCESS_TOKEN_SECRET);

Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET);
twitter.setOAuthAccessToken(token);
User user = twitter.verifyCredentials();

// 表示してみる。
List<Status> list_status = twitter.getHomeTimeline();
System.out.println("自分の名前:" + user.getScreenName());
System.out.println("概要   :" + user.getDescription());
for (Status status : list_status) {
System.out.println("ツイート:" + status.getText());
}
}
[/java]

実行してtwitter名と、ツイートが表示されれば完了です。

-Java
-

© 2025 ビー鉄のブログ Powered by AFFINGER5