I think that the best library to connect to and interact with Facebook from a Java web application is Facebook4j (http://facebook4j.org/en/index.html). I am not a big fan of Facebook, but I needed to interact with the most popular social network and had to search for a solution to this requirement. Facebook4j is an high level Java library for the Facebook Graph API. It doesn't require additional dependencies, it's Open Source and released under the Apache License 2.0 and it has built-in OAuth support. The learning curve is very low and you need just few lines of code to perform any kind of interaction with Facebook. Before moving to Facebook4j I tried also other APIs (among them RestFB and the now deprecated java-facebook-api) and Spring Social. At the end Facebook4j was the best, the most well documented and the easiest to use. I had to discard Spring Social because the application I am working on is not Spring based. This application is hosted on Google App Engine and I easily integrated Facebook4j into the GAE environment without problems.
In order to show that the considerations done in my last post are general for any log shipping purpose, let's see now how the same process applies to a more real use case scenario: the log shipping and analysis of a MongoDB database logs. MongoDB logs pattern Starting from the release 3.0 (I am considering the release 3.2 for this post) the MongoDB logs come with the following pattern: <timestamp> <severity> <component> [<context>] <message> where: timestamp is in iso8601-local format. severity is the level associated to each log message. It is a single character field. Possible values are F (Fatal), E (Error), W (Warning), I (Informational) and D (Debug). component is for a functional categorization of the log message. Please refer to the specific release of MongoDB you're using to know the full list of possible values. context is the specific context for a me...
Hi,
ReplyDeleteI'm creator of Facebook4J.
Thank you for the highest eulogy!
Would you tell me your application which integrated Facebook4J if you don't mind?
Hi Ryiuji,
DeleteThank you for your effort on developing this high level and helpful Java APIs.
At present time the project where we easily integrated Facebook4j cannot be revealed yet, but please contact me by mail (guglielmo.iozzia (at) gmail.com) or through Linkedin so I can give you more details privately.