Google has released in open source form the .NET APIs Client Library which can be used to access services providing discoverable APIs such as Books, Analytics, Latitude, Prediction, Tasks, Translate and others.
Google introduced the APIs Discovery Service at Google IO 2011, which can be used to programmatically interact with other APIs the company has provided for their services, including the ability to discover what services are available, how they are defined –methods and their parameters-, inline related help documentation, and the available OAuth 2.0 scopes. The APIs Discovery Service can be used to build APIs Client Libraries, enabling developers to access those APIs from different languages, and Google has created an APIs Explorer and an API Support Plug-in for Eclipse.
Google has made available APIs client libraries for Java, Python, PHP, Ruby, and recently .NET, all of them being alpha or beta releases. The .NET APIs Client Library allows developers to call Google services from C# programs, the source code and samples being available online. The Google services covered by the library are: APIs Discovery Service, Books API, Buzz API, CustomSearch API, Diacritize API, Enterprise Audit API, Google Analytics API, Google Latitude API, Google Site Verification API, Moderator API, Page Speed Online API, Prediction API, Search API for Shopping, TaskQueue API, Tasks API, Translate API, URL Shortener API. A number of other services, such as Blogger, Calendar, Picasa or YouTube, are supported by the GData .NET Client Library. It is interesting to see if Google will make the GData APIs discoverable in the future.
Some of the services do not require authentication, but those which do can be accessed using OAuth 2 built on top of DotNet OpenAuth, an open source OpenID, OAuth, and ICard library for Microsoft’s platform. The client library also supports working with strongly typed versions of the APIs libraries, making it easier to use in IDEs and performing various checks at compile time to ensure more code robustness.
.NET APIs Client Library can be used with Microsoft’s .NET Framework 3.5 and 4.0 and Visual Studio 2010, and also with Mono 2.6.7 and later with MonoDevelop. Google plans to add support for Windows Phone 7 and Silverlight, work having being started for the later.