一般設定
Twitter4J はいくつもの設定可能なプロパティが存在します。プロパティは twitter4j.properties ファイルから、ConfigurationBuilderクラスから、またはシステムプロパティから設定できます。
twitter4j.properties から
ConfigurationBuilder から
システムプロパティ から
環境変数から
標準的なプロパティファイルを "twitter4j.properties" という名前で保存します。 "twitter4j.properties" はカレントディレクトリ、またはクラスパスのルート(WEB-INF/classes等)に配置してください。
debug=true oauth.consumerKey=********************* oauth.consumerSecret=****************************************** oauth.accessToken=************************************************** oauth.accessTokenSecret=******************************************
ConfigurationBuilder クラスを使うと以下のようにプログラムから設定をすることができます。
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("*********************")
.setOAuthConsumerSecret("******************************************")
.setOAuthAccessToken("**************************************************")
.setOAuthAccessTokenSecret("******************************************");
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();
システムプロパティから設定をすることもできます。システムプロパティから設定する場合はプロパティ名の先頭に "twitter4j." をつける必要があることに注意してください。
$ java -Dtwitter4j.debug=true
-Dtwitter4j.oauth.consumerKey=*********************
-Dtwitter4j.oauth.consumerSecret=******************************************
-Dtwitter4j.oauth.accessToken=**************************************************
-Dtwitter4j.oauth.accessTokenSecret=******************************************
-cp twitter4j-core-3.0.3.jar:yourApp.jar yourpackage.Main
OSの環境変数から設定をすることもできます。環境変数から設定する場合はプロパティ名の先頭に "twitter4j." をつける必要があることに注意してください。
$ export twitter4j.debug=true $ export twitter4j.oauth.consumerKey=********************* $ export twitter4j.oauth.consumerSecret=****************************************** $ export twitter4j.oauth.accessToken=************************************************** $ export twitter4j.oauth.accessTokenSecret=****************************************** $ java -cp twitter4j-core-3.0.3.jar:yourApp.jar yourpackage.MainHerokuでは:
$ heroku config:add oauth.consumerKey=********** $ heroku config:add oauth.consumerSecret=************ $ heroku config:add oauth.accessToken=************************************************** $ heroku config:add oauth.accessTokenSecret=****************************************** $ git push heroku master
プロパティ一覧
一般
| プロパティ名 | 説明 | デフォルト値 |
|---|---|---|
| debug | デバッグ有効化フラグ。内蔵 Logger 使用時のみ有効。 | false |
| includeRTs | タイムイン取得メソッドの返り値にRwteetsを含めるかどうかのフラグ。 | true |
| includeEntities | タイムイン取得メソッドの返り値に追加情報を含めるかどうかのフラグ。 | true |
| includeMyRetweet | trueにセットすると列イートしたステータスのIDをStatus#getCurrentUserRetweetId()で取得できる。 | true |
| jsonStoreEnabled | DataObjectFactoryにJSONデータを保存するかどうかのフラグ。 | false |
| mbeanEnabled | MBeanを有効化するかどうかのフラグ。 | false |
| loggerFactory | ログ出力実装 サポートされる実装: twitter4j.internal.logging.SLF4JLoggerFactory twitter4j.internal.logging.CommonsLoggingLoggerFactory twitter4j.internal.logging.Log4JLoggerFactory twitter4j.internal.logging.JULLoggerFactory twitter4j.internal.logging.NullLoggerFactory twitter4j.internal.logging.StdNullLoggerFactory | null |
| contributingTo | contributingtoのユーザーIDを指定する。 | -1L |
OAuth
| プロパティ名 | 説明 | デフォルト値 |
|---|---|---|
| oauth.consumerKey | デフォルト OAuth consumer key | null |
| oauth.consumerSecret | デフォルト OAuth consumer secret | null |
| oauth.accessToken | デフォルト OAuth access token | null |
| oauth.accessTokenSecret | デフォルト OAuth access token secret | null |
Basic / xAuth 認証
| プロパティ名 | 説明 | デフォルト値 |
|---|---|---|
| user | デフォルトのスクリーン名 | null |
| password | デフォルトのパスワード | null |
ストリーミング
| プロパティ名 | 説明 | デフォルト値 |
|---|---|---|
| stream.user.repliesAll | replies=all を有効化する | true |
| stream.enableStallWarnings | stall warningsを受信する | true |
HTTP接続
| プロパティ名 | 説明 | デフォルト値 |
|---|---|---|
| http.connectionTimeout | HTTP接続タイムアウト(ミリ秒) | 20000 |
| http.readTimeout | HTTPリードタイムアウト(ミリ秒) | 120000 |
| http.streamingReadTimeout | ストリーミングAPI の HTTPリードタイムアウト(ms) | 300000 |
| http.retryCount | HTTPリトライ回数 | 0 |
| http.retryIntervalSecs | HTTPリトライ間隔(秒) | 5 |
| http.useSSL | SSL接続有効化フラグ | false |
| http.prettyDebug | デバッグ出力を整形するかどうか | false |
HTTPプロキサーバ
| プロパティ名 | 説明 | デフォルト値 |
|---|---|---|
| http.proxyHost | HTTPプロキシサーバホスト名 | null |
| http.proxyPort | HTTPプロキシサーバポート番号 | null |
| http.proxyUser | HTTPプロキシサーバユーザ名 | null |
| http.proxyPassword | HTTPプロキシサーバパスワード | null |
メディアサポート
| プロパティ名 | 説明 | デフォルト値 |
|---|---|---|
| media.provider | デフォルトメディアプロバイダ サポートされるプロバイダ: twitter, imgly, plixi, lockerz, twipple, twitgoo, twitpic, yfrog | |
| media.providerAPIKey | メディアプロバイダAPI Key | null |
ベースURL
| プロパティ名 | 説明 | デフォルト値 |
|---|---|---|
| restBaseURL | REST API ベース URL | http://api.twitter.com/1.1/ |
| streamBaseURL | Streaming API ベース URL | http://stream.twitter.com/1.1/ |
| siteStreamBaseURL | Site Streams API ベース URL | https://sitestream.twitter.com/1.1/ |
| userStreamBaseURL | User Stream API ベース URL | https://userstream.twitter.com/1.1/ |
| oauth.requestTokenURL | OAuth request token URL | http://api.twitter.com/oauth/request_token |
| oauth.accessTokenURL | OAuth access token URL | http://api.twitter.com/oauth/access_token |
| oauth.authorizationURL | OAuth authorization URL | http://api.twitter.com/oauth/authorize |
| oauth.authenticationURL | OAuth authentication URL | http://api.twitter.com/oauth/authenticate |
非同期
| プロパティ名 | 説明 | デフォルト値 |
|---|---|---|
| async.numThreads | 非同期処理スレッド数 | 1 |
| async.dispatcherImpl | 非同期処理実装クラス名 | twitter4j.internal.async.DispatcherImpl |
ログ設定
デフォルト Twitter4J は標準出力にログを記録します。SLF4J, Commons-Logging, Log4J のいずれかがクラスパスに存在する場合はそのログライブラリを使ってメッセージが出力されます。-Dtwitter4j.loggerFactory=twitter4j.internal.logging.NullLoggerFactory をシステムプロパティに指定することでログ出力を止めることも出来ます。