10分で出来る!初めてのTwitter4J & Twitterアプリ作り方メモ in 2015-10-18
最近はJava EE系でもJAX-RS研修の担当が多くなっている関係上、OAuthやRESTクライアントにも興味が出てきました。ということで、初めてTwitter4Jでプログラムを作ってみました。参考にしたのは、@kikutaro_さんのこちらのブログです。
Twitter4Jを使ったら10分でつぶやきJavaプログラムが作れました! ~NetBeans編~ - Challenge Java EE !
分かりやすくまとまっていて、基本的な手順は今も変わっていないのですが、管理画面のUIが変わっていたので、本日時点での画面キャプチャ付きで解説します。
目標
Twitter4Jを使って、Javaのmain()メソッドからつぶやきを送信する!
Twitter Developer登録
プログラムを作る前に、Twitter Developer登録を行って、アプリ開発に必要なアクセストークンなどの情報を取得します。この手順は、JavaやTwitter4Jによらないはずです。
まず、下記のTwitterのDeveloperサイトにアクセスします。
すると、トップ画面が表示されます。画面右上のリンクから、ご自分のTwitterアカウントでサインインしてください。このアカウントは、普段のつぶやきなどで使っているアカウントでOKです。
トップ画面で下の方にスクロールして、[TOOLS]-[Managing Your App]をクリックします。
すると、アプリケーションの管理画面に移ります。まだ何もアプリケーションを作っていないので、[Create New App]ボタンだけが表示されます。
では、[Create New App]ボタンをクリックします。すると、アプリケーションの作成画面に移ります。適当なアプリケーション名、アプリの説明、自分のブログなどのURLを入力します。[Callback URL]は必須項目ではないので、今回は空欄のままにします。
上記の画面で下の方にスクロールすると、[Developer Agreement]が記載されているので、内容を確認した上で[Yes, I agree]にチェックを入れて、[Create your Twitter app]ボタンをクリックします。
そうすると、下記のような画面が表示されます。[Consumer Key]の部分は、後で使います。実際には英数字&記号の羅列が表示されていますが、秘密の情報のため画像を加工して伏せています。
次に、この画面の[Keys and Access Tokens]タブをクリックします。表示されている[Consumer Key (API Key)]と[Consumer Secret (API Secret)]という2つの文字列は、後で使います。
この画面で下の方にスクロールして、[Create my access token]ボタンをクリックします。
画面が遷移するので、また下の方にスクロールすると、[Access Token]と[Access Token Secret]が表示されています。この2つの文字列も、後で使います。
以上で、準備は完了です。
Twitter4JでJavaプログラムを作る
さて、後は簡単です。IDEはEclipseでもNetBeansでもIntelliJ IDEAでも何でも構いません。ビルドツールは、MavenまたはGradleを使います。
まず、Twitter4Jを依存性に含めます。
Gradleならこうです。
compile 'org.twitter4j:twitter4j-core:4.0.4'
<dependency> <groupId>org.twitter4j</groupId> <artifactId>twitter4j-core</artifactId> <version>4.0.4</version> </dependency>
次に、src/main/resourcesに「twitter4j.properties」というプロパティファイルを作ります。そして、下記のように記述します。
debug=true #右辺にConsumer Key (API Key)をコピーして貼り付ける oauth.consumerKey=XXXXXXXXXXXXXXXX #右辺にConsumer Secret (API Secret))をコピーして貼り付ける oauth.consumerSecret=XXXXXXXXXXXXXXXXXX #右辺にAccess Tokenをコピーして貼り付ける oauth.accessToken=XXXXXXXXXXXXXXXX #右辺にAccess Token Secretをコピーして貼り付ける oauth.accessTokenSecret=XXXXXXXXXXXXXXXX
src/main/javaにクラスを作ります。菊田さんのブログのプログラムそのままです(^^;
import twitter4j.*; public class UserInfoMain { public static void main(String[] args) throws TwitterException { Twitter twitter = TwitterFactory.getSingleton(); User user = twitter.verifyCredentials(); System.out.println(user.getName()); System.out.println(user.getScreenName()); System.out.println(user.getFriendsCount()); System.out.println(user.getFollowersCount()); Status status = twitter.updateStatus("Twitter4Jから初めてのツイート! #twitter4j"); } }
これだけです。いざ、実行します。すると・・・
多田真敏 suke_masa 63 199 . . . (他にもデバッグログがいっぱい表示されます)
おおお、自分のユーザー情報が表示されて、つぶやきが投稿されてる!
まとめ
- Developer登録をして、アクセストークンなどの情報を取得する
- アクセストークンなどは、コピーしてtwitter4j.propertiesに貼り付ける
- Twitter4J使えば、REST APIやらJSONやら認証やらのコードは書かなくてOK!
感想
あまりに簡単すぎて感動すら覚えました・・・。
Twitter4Jのソースも、これから読んでみたいと思います!