Google Apps APIs
Google Apps and its APIs open up a wide variety of new opportunities to integrate and extend Google's communication and collaboration services. Domain administrators can use the APIs to migrate from and integrate with existing IT infrastructure. Application developers and systems integrators can use the APIs to extend, customize, and integrate Google's growing offering of services.
During adoption of Google Apps, the following APIs can be leveraged to migrate data from systems currently in use and to maintain stability in business processes through deep system integration.
The Provisioning API provides a mechanism to programmatically create and manage Google Apps user accounts, nicknames, and email lists. Using this API you can minimize disruption to your organization's current processes by synchronizing user data between Google Apps and your existing user management system. This API is only available in Google Apps Premier and Education Editions.
Single Sign-On Service
This service interface allows you to plug in your own identity provider to authenticate users who are trying to access Google Apps services. By implementing the interface you retain ownership and management of user credentials and avoid requiring users to remember yet another password. It's based on the SAML v2.0 Standard XML-based framework for communicating user authentication information between business entities. The single sign-on service is only available in Google Apps Premier and Education Editions.
Email Gateway Interface
Incoming and outgoing email can be routed through a mail gateway, giving you a tremendous amount of control and flexibility. Smooth out the adoption process by simultaneously delivering email to both Google Apps and your existing system. Adhere to message content policies like filtering out sensitive content or adding footer to all messages. Meet auditing requirements for regulatory compliance and data retention obligations for disaster recovery. This interface is only available in Google Apps Premier and Education Editions.
Calendar Data API
The Google Calendar data API provides a mechanism to programmatically create and manage Google Calendar event data. You can use it to seamlessly replace your current calendar system by migrating scheduled events to Google Apps. You can also publish data from other event-based applications through the Google Calendar user interface or embed Google Calendar event information in a custom front end application.
The following APIs provide the flexibility for application developers, systems integrators, independent software vendors, and users to extend, customize, publish into, and integrate with the services offered through Google Apps.
Google Data APIs
The Google data APIs ("GData") provide a simple standard protocol for reading and writing data on the web. An increasing number of Google services provide a GData interface so application developers should become familiar with the protocol. GData is based on the Atom and RSS syndication formats and the Atom publishing protocol, and also includes support for authentication, querying, and version conflict detection. Client applications can use any programming language that can issue HTTP requests and parse XML-based responses. Client libraries in a variety of popular languages are available to help.
Calendar Data API
The Google Calendar data API allows client applications to create new events, edit or delete existing events, and query for events that match particular criteria. This is the same API that is available to all Google Calendar developers so Google Apps developers can leverage and participate in that growing community. However with Google Apps a whole new set of calendar-based business applications become possible. Google Calendar's calendar sharing feature is that much more important in growing organizations with lots of group interactions and overlapping schedules. A client application has access to its user's private and accessible shared and group calendars. Application developers can interact with these calendars by creating front end applications powered by their event information or by creating applications that publish event information to them.
Spreadsheets Data API
The Google Spreadsheets data API allows client applications to view and update spreadsheets content. This is the same API that is available to all Google Spreadsheets developers so Google Apps developers can leverage and participate in that growing community. Spreadsheets are at the heart of an increasing number of critical business applications ranging from modelling and analysis to communication and planning. A client application can use this API to implement spreadsheet functionality or to extend the functionality provided by Google Spreadsheets. It can also simply use a spreadsheet as a database back end or it can publish data to a spreadsheet to provide users a more expressive view.
Google Gadgets API
Google Apps services are all unified by the Start Page which can include little web applications created using the Google Gadgets API. They can then be added directly to a Google Apps Start Page by a user that has the gadget's URL. Alternatively they can be added to the organization's content directory by an administrator.
Google Talk open protocols
The Google Talk instant messaging service uses the XMPP open protocol allowing client applications to hook into the service to provide peer-to-peer messaging, presence information, voice, and file transfer. This also allows other services implementing the XMPP standard to be federated with the Google Talk service so all of an organization's users can communicate in real time.
Sign up for a Google Apps domain account as a sandbox to develop and test within the proper context.