Java

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

投稿日:2013/05/22 更新日:

今、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にクラスパスを通しました。
で、以下の様なサンプルプログラムを記述して実行します。

	@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());
		}
	}

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

-Java
-

執筆者:


  1. […] 以下を参考に、Twitter4jで実行。警告がでるけど、名前だけは出力に成功する。 https://www.beeete2.com/blog/?p=217 警告は、ログ出力に関するものらしい。 https://qiita.com/toolate32/items/538f3a99d23a7a1f29b […]

comment

メールアドレスが公開されることはありません。

関連記事

no image

Windows7でSeleniumServer(RC)を使ってFireFoxを起動する方法

ちょうどWEBアプリを作っているので複雑な画面をSeleniumでテストケース作っておけばいいかなーと思って作りました。 FireFoxDriverを起動しています。 Jenkinsでテストとテストサ …

Spring MVCでHelloWorld EclipseのTomcat上で起動する

前回はMaven2で構成管理しつつEclipseの設定を行いました。 今回は、いよいよSpringMVCのアプリケーションを動かしてみたいと思います。 手順は ・サンプルプログラムの作成 ・Tomca …

JUnitのアサーションにAssertJを使う

Junit3時代はassertEqualsでアサーションしてJunit4になると当初はhamcrestでアサーションしておりましたが最近はAssertJを使っております。 AssertJはFluent …

JavaのYAMLライブラリのSnakeYamlを使う

最近はプロパティファイルを書くときに人間が読みやすくて記述量が少ないという理由でYAMLをよく使っています。 インデントが違うとエラーになりますが、その規約のお陰で記述量の少なさと読みやすさにつながっ …

Maven2でDomaを使ったアプリケーションをコンパイルする方法

JavaのO/Rマッパーの金字塔はなんですかね。 自分で言うのもなんですが、僕は完全にO/Rマッパーの移行に失敗したので、この辺りは疎いのですが・・・。 そんな僕はDomaというO/Rマッパーを使って …