Client Libraries

Many OpenSocial containers have begun supporting server-to-server APIs based on the OpenSocial REST and RPC protocols. These new protocols allow you to write engaging social applications for these containers using the language of your choice – JavaScript is no longer the only option.

There are several client libraries available to help you get started using the OpenSocial REST and RPC protocols. Each library enables developers to retrieve profile information and persistent data from supporting containers without having to concern themselves with managing network connections, signing requests, or other lower-level details. To check out the code, point your browsers to the Source tab linked from each project's home page:

Contributing

These libraries are completely open sourced under the Apache 2.0 license, and contributions are not only welcomed but encouraged. In addition to a wiki page explaining the patch submission process, each project hosts an issue tracker which have already been populated with known issues and requested enhancements. These trackers are the best places to start if you're interested in contributing to a particular project. Please report any new bugs or incompatibilities you find along with any feature requests using these trackers and be sure to star those reported by other developers which are significant to your own development also so they can be prioritized effectively.

Getting Started

To help get you started, we have assembled a set of sample applications, linked from the project wiki pages, which you can run directly from the command line or your favorite IDE. As an added bonus, the Ruby and Python libraries have accompanying full-featured sample applications which you can run inside containers supporting the OpenSocial REST protocol. These larger samples are checked in to the Subversion repository under "Samples" and include a bootstrap mechanism for securely retrieving the ID of the current viewer before the core application loads, which you can use as a template for your own container-based applications.

Please see the list of REST and RPC implementations for more information on the services you can access using these client libraries

Questions?

For general questions and commentary, we have set up a discussion group to help build the developer community around the libraries. The original engineers of each library are already members of the group, so feel free to ask the tough questions. (smile)