ツイッターを用いたメッセージのやり取りを行うにあたってTwitter4Jの使い方についてまとめました。
まずはTwitterのAPIを実行できるようにするということでアプリケーションの登録が必要になります。
詳細については以下のページで詳しい情報があります。
必要になるのは下記の4つのパラメータです。
Consumer Key
Consumer Secret
Access Token Key
Access Token Secret
ダイレクトメッセージに関しては初期設定では権限がない状態の可能性がありますので、どのような事ができるのかについては権限の部分を確認いただければと思います。
Twitter4Jでどのようにすれば連携できるのかは以下の手順で行えます。
1.ConfigurationBuilderのインスタンスを作成する
・ソースコード
ConfigurationBuilder cb = new ConfigurationBuilder();
2.APIパラメーターの設定
事前に確認した4つのパラメータをそれぞれのパラメータを設定する
・ソースコード
cb.setDebugEnabled(true)
.setOAuthConsumerKey(this.customerkey)
.setOAuthConsumerSecret(this.customerseclet)
.setOAuthAccessToken(this.accesstoken())
.setOAuthAccessTokenSecret(this.accesstokenselect());
3.Twitter用インスタンスを作成する
2で作成したインスタンスからTwitterクラスを作成する
・ソースコード
TwitterFactory tf;
Twitter twitter;
tf = new TwitterFactory(cb.build());
twitter = tf.getInstance();
4.ダイレクトメッセージの送信
特定のユーザーに対してメッセージを送信するには以下メソッドを実行する。
sendUserIdはツイッターのアカウント(名前ではない)、messageは送信したいメッセージを入れると実行されます
・ソースコード
DirectMessage dmessage=twitter.sendDirectMessage(sendUserId,message);
実行してエラーになった場合以下の例外が発生します。
TwitterException
基本的には文字数オーバーやAPIの実行間隔が短すぎるなどがあります。例外が発生した場合登録はされませんので、再度登録することになります。(あまりエラーを出すのはAPIの提供側からすると、規定を守っていないことになるので送信側である程度制限をかけるべきです)
応答結果のDirectMessageは、登録した結果内容です。こちらには登録したユーザーの情報や送信先のユーザー情報・送信した際に振られるダイレクトメッセージの番号など様々な情報が取得できます。
こうしてみるとTwitter4Jを利用すると、かなり簡単に連携できることがわかりますね。