As announced at last Google I/O, the new family of Google APIs client libraries runs on top of a brand new API infrastructure, which allows Google to reduce the amount of work needed to release and maintain the client libraries. This is done through a simple API that provides machine readable descriptions of Google APIs that the client libraries take advantage of.
Today, we are announcing the Google APIs Discovery Service, which is the secret sauce behind the new client libraries. This service exposes machine readable metadata about Google APIs including:
- A directory of supported APIs.
- A "Discovery document" for each of the supported APIs that includes:
- A list of API resource schemas based on JSON Schema.
- A list of API methods and available parameters for each method.
- A list of available OAuth 2.0 scopes.
- Inline documentation of methods, parameters, and available parameter values.
You can use the APIs Discovery Service to build tools for interacting with Google APIs, such as IDE Plugins and client libraries. We use the service at Google to build a number of such tools:
- Google APIs client libraries - as described above
- Google APIs Explorer - an interactive web-based tool for exploring Google APIs
- Google API Support in Google Plugin for Eclipse - an IDE integration that allows you to import Google APIs support directly into your Eclipse project
Read more about Google APIs Discovery Service in the documentation, or explore its API in the APIs Explorer. If you are attending this year’s Google I/O and you want to know more about the service, make sure to attend our session “Building Custom Client Libraries for Google APIs” where you can chat with the developers of the service face-to-face.
We look forward to seeing what sorts of things you can build. Let us know of any issues and feature requests in our developer forum. Happy hacking!
Anton Lopyrev is an Associate Product Manager for Google APIs Infrastructure, previously a software engineer on Street View. He is a computer graphics enthusiast who is also passionate about product design.
Joe Gregorio is a Software Engineer. In the past four years at Google he’s worked on APIs, Google App Engine, Google Wave, and now has come full circle and is back working on APIs.
Monsur Hossain is a Software Engineer for Google APIs Infrastructure and enjoys making it easier to use APIs.
Posted by Scott Knaster, Editor