Twitter4JでPIN認証
Published at
Twitter4Jを使ってPIN認証します。
Twitter Application Managementにアクセスし、自分のアプリケーションを予め作成しておきます。この時、コールバックURLをを空にしておくことでPIN認証をすることが出来ます。
適宜インポートしておきます。
Twitter twitter = TwitterFactory.getSingleton();
twitter.setOAuthConsumer(API_KEY, API_SECRET);
try {
RequestToken requestToken = twitter.getOAuthRequestToken();
String url = requestToken.getAuthorizationURL();
} catch (TwitterException e) {
}
urlを読み込ませ、PINを控えさせておきます。なおString型だと都合が良いです。
String pin = "***";
try{
AccessToken token = twitter.getOAuthAccessToken(requestToken, pin);
String accessToken = token.getToken();
String accessTokenSecret = token.getTokenSecret();
User user = twitter.verifyCredentials(); // ユーザー情報を取得できる
} catch (TwitterException e) {
}
getOAuthAccessTokenはrequestToken無しでも取得出来るっぽいですが、明示的に指定したほうが心配はないのかも。エラーが投げられなければtwitterインスタンスは使えるようになるはず。
実際にAndroid上で使うには非同期処理が必要だったりしますが、そこは省略。