Twitterの"つぶやき"を実装する
|“TwitterでOAuth認証を行う(3:Access Tokenを取得する)“ではOAuth認証を使ってAccess Tokenを取得する
所までを実装しました。
今回は取得したAccess Tokenを使用して”つぶやき”を実装してみましょう。
つぶやきを実装するには、twitter4JのTwitterクラスを使用します。
※本記事は2011/5/12現在のバージョンのTwitter4Jを使用しています。
詳細は以下から。
Twitterクラスとは?
TwitterクラスはAccess TokenとConsumer keyを設定する事で、タイムラインなどのユーザー情報の取得や、
つぶやきなどのユーザー機能の使用が行えるクラスです。(公式リファレンス)
タイムラインの取得やリツイート、などについては次週詳しく解説します。
今回はTwitterクラスのインスタンス化から、Access TokenとConsumer keyの設定、”つぶやき”までの実装を
行います。
まずはTwitterクラスのインスタンス化から、Access TokenとConsumer keyの設定までのサンプルです。
1 2 3 4 5 6 7 8 9 10 11 | //twitterオブジェクトの作成 Twitter tw = new TwitterFactory().getInstance(); //AccessTokenオブジェクトの作成 AccessToken at = new AccessToken(tokenStr, tokenSecretStr); //Consumer keyとConsumer key seacretの設定 tw.setOAuthConsumer( "アプリケーションのConsumer key" , "アプリケーションのConsumer key secret" ); //AccessTokenオブジェクトを設定 tw.setOAuthAccessToken(at); |
2行目で、Twitterクラスのインスタンス化を行っています。
5行目で、Access TokenとAccess Token Secretを使用してAccessTokenクラスをインスタンス化しています。
8行目で、TwitterクラスオブジェクトにConsumer keyとConsumer key secretを設定しています。
11行目で、5行目で作成したAccessTokenオブジェクトをTwitterオブジェクトに設定しています。
“つぶやき”の実装
“つぶやき”はインスタンス化したTwitterオブジェクトでTwitter#updateStatusメソッドをコールすることで実装できます。
Twitter#updateStatusメソッドの引数につぶやきたい文字列を指定します。
また、つぶやきを送信している最中に発生するエラーは例外としてTwitterExceptionがthrowされます。
TwitterException#isCausedByNetworkIssueメソッドを使用することで、ネットワーク上の問題か
どうかを判別することができます。
1 2 3 4 5 6 7 8 | try { tw.updateStatus( "つぶやきたい文字列" ); } catch (TwitterException e) { e.printStackTrace(); if (e.isCausedByNetworkIssue){ Toast.makeText( this , "ネットーワークの問題です" , Toast.LENGTH_LONG); } } |