.NET Developers Now Can Access Google Discovery APIs

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.

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.

Tell us what you think

I hope this one is better designed than the others. Some of their .NET wrappers (wrappers because they generally are only layers over their REST-ish APIs) are so bad, you're better of just using vanilla web requests (which i guess is an advantage of REST...)

Not following .NET conventions, bad exception handling, inability to tweak the web request settings the way you'd want them to, bad documentation, bad performance, limited support (many are just labs, so it makes sense, but...)you're really usually better making your own wrappers (aside for the OAuth stuff. google's wrapper for that actually works okay)