通用配置
可以使用facebook4j.properties,ConfigurationBuilder或者是System Property为Facebook4J配置一些参数。
通过facebook4j.properties配置
创建名字为facebook4j.properties的文件,放在环境变量目录。
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-2.4.13.jar:yourApp.jar yourpackage.Main
通过环境变量配置
通过系统的环境变量配置,需要每一个变量都以facebook4j.开头
NIX系统: $ 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
在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 | 是否输出日志,只有内置log工具时候生效 | false |
jsonStoreEnabled | 如果设置为true,原始的JSON会存储到DataObjectFactory | false |
mbeanEnabled | 如果设置为true,Mbean会被注册 | false |
loggerFactory | Logger实现 支持的实现: 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.appId | 配置OAuth App ID | null |
oauth.appSecret | 配置 OAuth App Secret | null |
oauth.accessToken | 配置 OAuth access token | null |
oauth.permissions | 配置 OAuth permissions 可选的配置 See https://developers.facebook.com/docs/reference/login/#permissions for the detail. | null |
oauth.callbackURL | 配置 OAuth callback URL | null |
安全
配置名称 | 描述 | 默认值 |
---|---|---|
security.appSecretProofEnabled | 如果设置为true,请求API的时候会添加appsecret_proof参数 | false |
security.appSecretProofCacheSize | appsecret_proof的缓存大小 | 10 |
HTTP连接
配置名称 | 描述 | 默认值 |
---|---|---|
http.connectionTimeout | Http连接超时的毫秒数 | 20000 |
http.readTimeout | 读取超时毫秒数 | 120000 |
http.retryCount | 重试次数 | 0 |
http.retryIntervalSecs | 重试时间间隔 | 5 |
http.prettyDebug | 是否格式化输出 | false |
HTTP代理
配置名称 | 描述 | 默认值 |
---|---|---|
http.proxyHost | 代理地址 | null |
http.proxyPort | 代理端口号 | null |
http.proxyUser | 代理用户名 | null |
http.proxyPassword | 代理密码 | null |
地址
配置名称 | 描述 | 默认值 |
---|---|---|
restBaseURL | API地址 | https://graph.facebook.com/ |
videoBaseURL | 视频API的地址 | https://graph-video.facebook.com/ |
oauth.authorizationURL | 授权API地址 | https://www.facebook.com/dialog/oauth |
oauth.accessTokenURL | 获取令牌地址 | https://graph.facebook.com/oauth/access_token |
oauth.accessTokenInfoURL | 获取令牌信息地址 | https://graph.facebook.com/oauth/access_token_info |
oauth.deviceTokenURL | 获取设备令牌地址 | http://graph.facebook.com/oauth/device |
日志配置
Facebook4J默认配置的是标准输出,如果SLF4J, Commons-Logging, Log4J 在环境变量里面,会选择其中一个作为日志工具。可以通过-Dfacebook4j.loggerFactory=facebook4j.internal.logging.NullLoggerFactory禁用默认的日志输出。