Facebook の API バージョンの指定方法は こちら
一般設定
Facebook4J はいくつもの設定可能なプロパティが存在します。プロパティは facebook4j.properties ファイルから、ConfigurationBuilderクラスから、またはシステムプロパティから設定できます。
facebook4j.properties から
標準的なプロパティファイルを “facebook4j.properties” という名前で保存します。 “facebook4j.properties” はカレントディレクトリ、またはクラスパスのルート(WEB-INF/classes等)に配置してください。
debug=true
oauth.appId=****************
oauth.appSecret=********************************
oauth.accessToken=********************************
oauth.permissions=email,publish_stream,...
ConfigurationBuilder から
ConfigurationBuilder クラスを使うと以下のようにプログラムから設定をすることができます。
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthAppId("*********************")
.setOAuthAppSecret("******************************************")
.setOAuthAccessToken("**************************************************")
.setOAuthPermissions("email,publish_stream,...");
FacebookFactory ff = new FacebookFactory(cb.build());
Facebook facebook = ff.getInstance();
システムプロパティ から
システムプロパティから設定をすることもできます。システムプロパティから設定する場合はプロパティ名の先頭に “facebook4j.” をつける必要があることに注意してください。
$ java -Dfacebook4j.debug=true
-Dfacebook4j.oauth.appId=*********************
-Dfacebook4j.oauth.appSecret=******************************************
-Dfacebook4j.oauth.accessToken=**************************************************
-Dfacebook4j.oauth.permissions=email,publish_stream,...
-cp facebook4j-core-1.1.0.jar:yourApp.jar yourpackage.Main
環境変数から
OSの環境変数から設定をすることもできます。環境変数から設定する場合はプロパティ名の先頭に “facebook4j.” をつける必要があることに注意してください。
$ export facebook4j.debug=true
$ export facebook4j.oauth.appId=*********************
$ export facebook4j.oauth.appSecret=******************************************
$ export facebook4j.oauth.accessToken=**************************************************
$ export facebook4j.oauth.permissions=email,publish_stream,...
$ java -cp facebook4j-core-2.4.13.jar:yourApp.jar yourpackage.Main
On Heroku:
$ heroku config:add facebook4j.oauth.appId=*********************
$ heroku config:add facebook4j.oauth.appSecret=******************************************
$ heroku config:add facebook4j.oauth.accessToken=**************************************************
$ heroku config:add facebook4j.oauth.permissions=email,publish_stream,...
$ git push heroku master
プロパティ一覧
一般
プロパティ名 | 説明 | デフォルト値 |
---|---|---|
debug | デバッグ有効化フラグ。内蔵 Logger 使用時のみ有効。 | false |
jsonStoreEnabled | DataObjectFactoryにJSONデータを保存するかどうかのフラグ。 | false |
mbeanEnabled | MBeanを有効化するかどうかのフラグ。 | false |
loggerFactory | ログ出力実装 サポートされる実装: facebook4j.internal.logging.SLF4JLoggerFactory facebook4j.internal.logging.CommonsLoggingLoggerFactory facebook4j.internal.logging.Log4JLoggerFactory facebook4j.internal.logging.JULLoggerFactory facebook4j.internal.logging.NullLoggerFactory facebook4j.internal.logging.StdNullLoggerFactory | null |
OAuth
プロパティ名 | 説明 | デフォルト値 |
---|---|---|
oauth.appId | デフォルトの App ID | null |
oauth.appSecret | デフォルトの App Secret | null |
oauth.accessToken | デフォルトの OAuth アクセストークン | null |
oauth.permissions | デフォルトの OAuth パーミッション パーミッション名をカンマ区切りで指定 パーミッション名は Facebook の Webサイトで確認してください。 https://developers.facebook.com/docs/reference/login/#permissions | null |
oauth.callbackURL | デフォルトの OAuth コールバック URL | null |
セキュリティ
Property name | Description | Default value |
---|---|---|
security.appSecretProofEnabled | API コール毎に自動的に 'appsecret_proof' パラメータを付加するかどうかのフラグ。 | false |
security.appSecretProofCacheSize | 'appsecret_proof' のキャッシュサイズ。 | 10 |
HTTP接続
プロパティ名 | 説明 | デフォルト値 |
---|---|---|
http.connectionTimeout | HTTP接続タイムアウト(ミリ秒) | 20000 |
http.readTimeout | HTTPリードタイムアウト(ミリ秒) | 120000 |
http.retryCount | HTTPリトライ回数 | 0 |
http.retryIntervalSecs | HTTPリトライ間隔(秒) | 5 |
http.prettyDebug | デバッグ出力を整形するかどうか | false |
HTTPプロキシサーバ
プロパティ名 | 説明 | デフォルト値 |
---|---|---|
http.proxyHost | HTTPプロキシサーバホスト名 | null |
http.proxyPort | HTTPプロキシサーバポート番号 | null |
http.proxyUser | HTTPプロキシサーバユーザ名 | null |
http.proxyPassword | HTTPプロキシサーバパスワード | null |
ベースURL
プロパティ名 | 説明 | デフォルト値 |
---|---|---|
restBaseURL | API のベース URL | https://graph.facebook.com/ |
videoBaseURL | Video API のベース URL | https://graph-video.facebook.com/ |
oauth.authorizationURL | OAuth 認可の URL | https://www.facebook.com/dialog/oauth |
oauth.accessTokenURL | OAuth アクセストークン取得の URL | https://graph.facebook.com/oauth/access_token |
oauth.accessTokenInfoURL | OAuth アクセストークン情報取得の URL | https://graph.facebook.com/oauth/access_token_info |
oauth.deviceTokenURL | OAuth デバイスアクセストークン取得の URL | http://graph.facebook.com/oauth/device |
ログ設定
デフォルトで Facebook4J は標準出力にログを記録します。SLF4J, Commons-Logging, Log4J のいずれかがクラスパスに存在する場合はそのログライブラリを使ってメッセージが出力されます。-Dfacebook4j.loggerFactory=facebook4j.internal.logging.NullLoggerFactory をシステムプロパティに指定することでログ出力を止めることも出来ます。