Google APIs Discovery Service

Posted in google by pedro | Tuesday, May 10th, 2011 at 12:03 pm

Before Google I/O Google released Google APIs Discovery Service. The propose of this API (or meta-API) is to expose machine readable matadata about other Google APIs.

You can get a list of all APIs (of course this is just part of the all Google APIs ;) ) supported by Discovery Service:

GET https://www.googleapis.com/discovery/v1/apis

and as the response you will get JSON object with API list. See apis.json.zip, and here we have an example about Buzz API:

{

“kind”: “discovery#directoryItem”,

“id”: “buzz:v1″,

“name”: “buzz”,

“version”: “v1″,

“title”: “Buzz API”,

“description”: “Lets you share updates, photos, videos, and more with your friends around the world”,

“discoveryLink”: “./apis/buzz/v1/rest”,

“icons”: {

“x16″: “http://www.google.com/images/icons/product/buzz-16.png”,

“x32″: “http://www.google.com/images/icons/product/buzz-32.png”

},

“documentationLink”: “http://code.google.com/apis/buzz/v1/using_rest.html”,

“labels”: [ "labs" ],

“preferred”: true

}

Next we can get more information about particular API by using discoveryLink value. This is called “Discovery Document” which includes:

  • All the API schemas that describe the API usage.
  • Description of methods and parameters.
  • OAuth scopes and Authentication information.
  • Inline documentation with description of schemas, methods, parameters and parameters values.

Let’s try to get more information about Buzz API:

GET https://www.googleapis.com/discovery/v1/apis/buzz/v1/rest

There are ton of information there. So you may ask “what for?”, the answer is to build tools around the Google APIs. Currently Google use this API to build such great tool as API Explorer and Google Plugin for Eclipse also is using Discovery Service to show you information about API.

Happy Discovers

Tags:

Leave a Reply

about me

My name is Sebastian Pietrowski. I've finished Warsaw University as Master degree. During my studies I started work for merlin.pl. The primary language I use is Java but I have also programmed in Python, Ruby and Scala. I worked as a technical solution architect at merlin.pl. infrastructure when we were moving from PL/SQL to J2EE. I engineering a great performance optimized solution that made the application 10 times faster than requirements and 85 times faster as original solution.

Currently, I am working as a Senior Expert at F.Hoffmann-La Roche to help define future roadmap in design and development of Enterprise software at Roche and Genentech and build adoption for new technologies. I'm continuously mentoring new developers, helping them understand how important test driven development is and empowering them to get better at their daily job. I'm involved in many activities which brings new technologies for better and faster development. You can find more details on my LinkedIn profile.

But don’t get me wrong, I am not your typical nerd. I'm a pleasant guy that you can drink a glass of wine with me and talk about a range of topics with. My leisure activities include playing basketball, soccer and listening to music. I try to be pragmatic while staying focused on application performance and tuning with success in my daily work.

My favorite quote from Yoda's and my life’s motto is: Do, or do not. There is no try.