Twitter4j-2.1.xを使ったOAuth認証のコーディング例androidとか日記androidアプリを暇つぶしで作っておりまして、その記録です。最近、iOSアプリとかIoTとかにも手を広げ始めたので、ブログタイトルに「とか」を入れました。「やりたいことを我慢しなくてよい世の中にしたい」という思いで仕事に取り組んでいます。・ねこぱβ(http://cat.picparks.com)・いぬぱβ(http://dog.picparks.com)も見てくれると嬉しいです。---Twitter4jは2.1系から2.2系で使い方が変わったので、2.2系をお使いになる場合は、こちらの記事をご覧ください。前のエントリで書いたように、よりセキュアな認証方法であるOAuth。僕のレベルで考えうるベストのコーディング例を紹介します。説明が超ヘタクソなので、実際のソースをTwitterLogin.javaTwitterSetting.javaに置いておきます。※Dropboxにリンクしています。欲しい方はTwitter(@ky25_android)でメッセージください。この実装を利用したアプリのソースを丸ごと公開しておりますので、こちらからダウンロードしてみてください。6・Twitter4j-2.1.3■前提1.アプリケーション登録が完了している。「ブラウザアプリケーション」として登録する。2.Twitterに飛ぶためのボタン1つだけのActivity(以下、Activity1)と、Twitterの認証画面を表示するActivity(以下、Activity2)の構成(※)。※Activity2用に、WebViewを使ったレイアウトをあらかじめ作成しておく。このレイアウトに設定したWebViewは、WebView01というIDにしています。URLには適当な文字列を設定しておく。URLとは別にしておいた方が混乱しない。2.下記コードの中で「oauth_verifier」という概念が出てくるが、これはaccess_tokenとaccess_token_secretを付与してもらうためのキー。●Activity1のコーディング例1.下記コードを、Activity2を呼ぶために、onCreateメソッド内のsetOnClickListener#onClickメソッドに記述します。twitterはクラス変数。requestTokenもクラス変数。認証用URLをインテントにセット。TwitterLoginはActivityのクラス名。アクティビティを起動。REQUEST_CODEは任意のint型の値。REQUEST_CODE);2.下記コードを、Activity2で取得した値を使って、access_tokenとaccess_token_secretを取得するために、onActivityResultメソッドに記述します。access_tokenとaccess_token_secretを取得する。この取得処理はTwitter4jが勝手にやってくれます。以下のコードを、ログイン処理を担うActivityのonCreateメソッドに記述します。このコーディング例では、oauth_verifierを取得して、Intentを介してActivity1に戻すことを想定しています。画面遷移時にWebView内で画面遷移するようにする。しないと、標準ブラウザが開いてしまう。ページ描画完了時に呼ばれる。CALLBACK_URLは注意点1で書いた適当な文字列。URLから始まっていたら、認証成功とみなす。URLパラメータを分解する。oauth_tokenをURLパラメータから切り出す。oauth_verifierをURLパラメータから切り出す。oauth_tokenとoauth_verifierをインテントにセット。元のActivityに戻す。Activity1で設定した認証ページを表示。作ったサービスmyto.beToBeリストを作って共有するサービスです。(15)Froyo以前でも動作するアプリをa2sd対応する方法いわゆる、魔法の五行Androidアプリにおける収益モデルの検証X06HTのルート化手順における、きっとハマる4つの注意点グルーポン(Groupon)系サイトのアグリゲートアプリを開発しました。checkout編)AndroidでTwitter認証にOAuthを使う方法(導入編)ソーシャルモーニングコールアプリ「ねちゃったー」をアップデートしました。アプリ初リリースソーシャル化ソーシャルモーニングコールアプリ、できました。