Understanding Google Apps APIs

Refer to here

Main Idea:

The main idea is to 'develop applications that integrate with Google Apps'.

Google Apps ?

Google Apps are referring to:
  • Gmail
  • Contacts
  • Calendar
  • Sites
  • Document
  • Spreadsheet
  • Wave Extension
So, why you want to integrate with Google Apps ?

It depends. For instance, if you are trying to create an automation system to consolidate your emails and contacts.... Or it can be something like doing VBA on Microsoft Office. Be imaginative.

Refer to here for more ideas.

APIs Available ?

The APIs can be categorized into four main category.
  • 'OpenID' Single Sign-On (Required)
  • Universal Navigation
  • Data Access - extracting data from Google Apps
  • Gadgets - integrate your data and user interface into Google Apps by creating gadgets
Two Ways:

There are two ways of developing applications that will allow you to integrate with Google Apps.

1. Develop and host it yourself

To do this, use any programming that you want and just call the API and host it somewhere.

Using this method, you need to setup your own database in your hosting server.

2. Develop on Google App Engine.

This is more interesting.

Google App Engine is a platform for cloud computing.

Not only it provides free hosting with limited quota, it also comes with libraries which cater for scalability of your application in the context of cloud computing.

Using this method, you do not get to setup your own database explicitly. You need to use the libraries provided by Google App Engine for data manipulation; essentially it is the object-relational layer.

Refer to here for more details.

Libraries vs APIs:

These two terms can be confusing and then to overlap in terms of meaning.

For Google Apps APIs, libraries are referring to higher level functions which will invoke one or multiple APIs (lower level functions) to achieve specific goals.

Refer to here.

One good example of library is 'Reporting' which domain monitoring and visualization functions are included.

Library is more like a convenience while API is more like technology.

Marketplace Concept:

The marketplace concept is similar to Apple's AppStore concept.

It allows one to market and sell the developed apps.