The Google APIs Client Generator is an awesome tool that automates this process. It takes a service description and generates a complete client library:
> The Google APIs Client Generator is an awesome tool that automates this process. It takes a service description and generates a complete client library
So we've gone full circle and arrived back at SOAP. Why didn't we just keep using SOAP in the first place?
Well, at least the underlying API is much simpler - you can do things manually if necessary. Trying to talk to WCF SOAP services from Ruby has been really painful - none of the SOAP libraries actually work with the Microsoft stuff, and it's so overcomplicated that making requests manually is a pain.
https://code.google.com/p/google-apis-client-generator/
The service is defined in a platform-neutral discovery document, which can be used by any provider:
https://developers.google.com/discovery/v1/reference/apis
There are generators for Python, Java, .NET, Objective-C, PHP, Go, GWT, Node.js, Ruby, and others.