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の設定までのサンプルです。

//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メソッドを使用することで、ネットワーク上の問題か
どうかを判別することができます。

try {
    tw.updateStatus("つぶやきたい文字列");
} catch (TwitterException e) {
    e.printStackTrace();
    if(e.isCausedByNetworkIssue){
         Toast.makeText(this, "ネットーワークの問題です", Toast.LENGTH_LONG);
    }
}
3 Comments