Developers appreciate a nice web application, like the one that launched last week with Google Calendar. Even more, they appreciate a nice web application programming model that enables them to build applications, not just use them. Enter the Google Calendar data API.
The Google Calendar data API is based upon a common API model called GData. The GData model uses REST principles and Atom or RSS 2.0 syndicated feeds as the base resource model to expose data held by Google services (like Google Calendar).
GData feeds support queries based upon URL parameters, so it is possible to take a base feed, add parameters, and query for all entries that match a search query, fall within a date range, or other conditions. With proper authentication, GData feeds also support the ability to post new entries (create new events), to modify existing ones (add event participants), or delete them (cancel a meeting). The GData feed edit model is based upon the Atom Publishing Protocol.
Basing the GData protocol model upon HTTP/XML means it is possible to use Google data APIs in a wide variety of client programming languages and environments. Java and C# libraries are available now, others will coming soon. The GData protocol is open, based upon existing/emerging standards, and fully documented. GData uses the extensibility features of Atom and RSS to expose feed entries that contain data that is customized for the type of service (like a Calendar entry with location, participants, and recurrence data). Any and all extensions will be documented. As new API-enabled Google services become available, the common Google data API model will make it easier as a developer to reuse client libraries, tools, and techniques across different services.
We're interested in your feedback on this new capability! You can send feedback and ask questions in the the Google Calendar data API Group and the general Google data API Group.