What's the difference between Google Analytics API client libraries? (google-api-dotnet-client vs. google-gdata)

In my (limited) experience:

  • GData has a better integrated OAuth2 support, which is easier to use.

  • GoogleApiDotnetClient services return specific subtypes while GData returns base types. For example, a GoogleApiDotnetClient calendar events request returns something typed IEnumerable<Event>, while GData returns an IEnumerable<AtomEntry> where each instance is actually an EventEntry.

  • GoogleApiDotnetClient instances are simpler, for example an Event.Summary is a string field whereas GData's Summary is an AtomTextConstruct which has a Text property.

  • GoogleApiDotnetClient does not support some APIs, notably Spreadsheets.

  • The dates tend to be strings in GoogleApiDotnetClient but proper DateTime values in GData.

  • Neither has any XML comments whatsoever, sadly.

So far I have a preference for GoogleApiDotnetClient, but frankly, both of them have lots of space for improvement.


They are both linked to from google "Core Reporting API" pages. http://code.google.com/apis/analytics/docs/gdata/v3/gdataLibraries.html

One is linked under v3.0, and one from v2.4.

The .net library for v3.0 still appears to be in beta.

There is a comparison between v3.0 and v2.4 here: http://code.google.com/apis/analytics/docs/gdata/home.html