Twitter4Jを今更ながら使ってみる


最近仕事の方も落ち着いてきたので、簡易なWebサービスを作ろうと思います。ユーザ登録を作るのは面倒なので、twitter4jを利用してtwitterアカウントでユーザを管理するようにします。twitter4jの使い方については、このサイトを参考にしました。(説明がとてもわかりやすいです!)


(1) Slim3プロジェクトを作成

(2) ココからtwitter4Jをダウンロード

(3) Build Pathにtwitter4j-appengine-3.0.3.jartwitter4j-core-3.0.3.jarを追加

(4) ココに今回作成するアプリケーションを登録

(5) プログラムの作成


index.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>twitter Index</head>
<body>
<p><a href="/login">twitterでログイン</a></p>
</body>
</html>


LoginController.java
consumerKeyとconsumerSecretに(4)で生成された値をセットする。

public class LoginController extends Controller {
public static final String consumerKey = "コンシューマキー";
public static final String consumerSecret = "コンシューマシークレット";
static TwitterFactory twitterFactory = new TwitterFactory();

@Override
public Navigation run() throws Exception {
Twitter twitter = twitterFactory.getInstance();
twitter.setOAuthConsumer(consumerKey, consumerSecret);
try{
RequestToken reqToken = twitter.getOAuthRequestToken();
HttpSession session = request.getSession();
session.setAttribute("RequestToken", reqToken);
session.setAttribute("Twitter", twitter);
String strUrl = reqToken.getAuthorizationURL();
response.sendRedirect(strUrl);
}catch (TwitterException e){
throw e;
}
return null;
}
}


LoginSuccessController.java
(4)でcallbackURLとして「/loginSuccess」を事前に登録しておくと、twitter認証成功後このクラスが呼ばれる。

public class LoginSuccessController extends Controller {

@Override
public Navigation run() throws Exception {
HttpSession session = request.getSession();
Twitter twitter = (Twitter)session.getAttribute("Twitter");
String verifier = request.getParameter("oauth_verifier");
AccessToken accessToken = null;
try {
accessToken = twitter.getOAuthAccessToken((RequestToken)session.getAttribute("RequestToken"), verifier);
} catch (TwitterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(accessToken != null){
// AccessTokenをセッションに保持
session.setAttribute("AccessToken", accessToken.getToken());
session.setAttribute("AccessTokenSecret", accessToken.getTokenSecret());
}
return null;
}
}


アクセストークンはこの流れで取得することができました。

twitter4J  2013年09月18日 08時09分 

iPhoneアプリを個人で出してます。Python/JavaScriptが大好きです。このブログはGAE/Pythonで作ったオリジナルブログです。
カテゴリ
開発アプリ