At the Forge - Integrating with Facebook Data
Facebook's API gives us the opportunity to think about how we can structure an application that doesn't have access to some of the data. This application doesn't have any authentication information about users, and it can get only particular pieces of data about them. But, because we have an id column, we can use it to store data on our local server and then join that data with what comes from Facebook seamlessly.
Facebook developer information is at developers.facebook.com. This includes documentation, a wiki and many code examples. One article on the wiki specifically addresses Ruby development, at wiki.developers.facebook.com/index.php/Using_Ruby_on_Rails_with_Facebook_Platform.
Ruby on Rails can be downloaded from rubyonrails.com. Of course, Rails is written in the Ruby language, which almost certainly is included in your distribution, but it also can be downloaded from www.ruby-lang.org.
The RFacebook gem for Ruby, and the companion RFacebook plugin for Rails developers, can be retrieved from rfacebook.rubyforge.org.
Hpricot, written by the prolific Ruby programmer “why the lucky stiff”, is at code.whytheluckystiff.net/hpricot. I have found it to be useful in many Ruby programs I've written, but it is especially useful in the context of RFacebook, given the central role of XML and the Facepricot extension.
Finally, Chad Fowler, a well-known Ruby developer, has developed a different Rails plugin (Facebooker) for working with Facebook. You can download the code, as well as learn more about the design principles behind his plugin, at www.chadfowler.com/2007/9/5/writing-apis-to-wrap-apis.
Reuven M. Lerner, a longtime Web/database developer and consultant, is a PhD candidate in learning sciences at Northwestern University, studying on-line learning communities. He recently returned (with his wife and three children) to their home in Modi'in, Israel, after four years in the Chicago area.
- New Products
- New Products
- Integrating Trac, Jenkins and Cobbler—Customizing Linux Operating Systems for Organizational Needs
- Dialog: An Introductory Tutorial
- Tech Tip: Really Simple HTTP Server with Python
- RSS Feeds
- Non-Linux FOSS: Remember Burning ISOs?
- EdgeRouter Lite
- Cooking with Linux - Serious Cool, Sysadmin Style!