Created
April 13, 2013 06:13
-
-
Save komiya-atsushi/5377242 to your computer and use it in GitHub Desktop.
Twitter4J で Application-only authentication の bearer トークンを用いて Twitter API を呼び出す ref: http://qiita.com/items/84d22445fac14dc6cffa
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package demo.twitter4j; | |
import twitter4j.Twitter; | |
import twitter4j.TwitterException; | |
import twitter4j.TwitterFactory; | |
import twitter4j.auth.Authorization; | |
import twitter4j.conf.ConfigurationBuilder; | |
import twitter4j.internal.http.HttpRequest; | |
/** | |
* Twitter4J で Application-only authentication の取得済み bearer トークンを設定して Twitter API を呼び出す | |
* 手順を示すデモアプリです。 | |
*/ | |
public class BearerAuthenticateByTwitter4JDemo { | |
/** ここに取得済みの Application-only authentication のアクセストークン (bearer トークン) を設定する */ | |
private static final String bearer = "トークンをここに設定する"; | |
public static void main(String[] args) throws TwitterException { | |
// bearer トークンを用いて通信をする場合は、SSL 通信が必須となる | |
ConfigurationBuilder builder = new ConfigurationBuilder(); | |
builder.setUseSSL(true); | |
// Configuration および Authorization のオブジェクトを設定して Twitter オブジェクトを | |
// 生成するようにする | |
Twitter twitter = | |
new TwitterFactory(builder.build()) | |
.getInstance(new BearerAuthorization(bearer)); | |
// あとは、Application-only authentication で許可された API を好きなだけ叩くのみ | |
System.out.println(twitter.getRateLimitStatus().toString()); | |
} | |
/** | |
* bearer トークンを利用して Twitter API を呼び出すための Authorization 実装クラスです。 | |
* <p> | |
* HTTT リクエスト時の "Authorization" ヘッダに設定される文字列を getAuthorizationHeader() メソッドで生成して返却します。 | |
* </p> | |
*/ | |
public static class BearerAuthorization implements Authorization { | |
private String bearer; | |
BearerAuthorization(String bearer) { | |
this.bearer = bearer; | |
} | |
@Override | |
public String getAuthorizationHeader(HttpRequest req) { | |
return "Bearer " + bearer; | |
} | |
@Override | |
public boolean isEnabled() { | |
return bearer != null; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment