Download (24-Apr-2006)

April 24, 2006

Before the official Google Calendar API came out, I was working on a temporary,
unofficial .NET API for internal use. It works by simulating user input to
the normal Google Calendar web page (a.k.a. "auto-piloting"). The idea was to
use it in the interim, then plug in the real API when it inevitably came out.

However, the folks at Google work faster than me, and within days of launching
their Calendar product, they launched the API. That made most of the work
contained herein obsolete.

However, there are still a few things you can do with this code that you can't
do with the official API - namely, retrieving a list of calendars for a user,
creating new calendars, etc. (As of 24-Apr-2006)

Due to a few requests on the google-calendar-help-dataapi group, I'm posting
this code dump code online. It's really more of a "proof of concept" than
anything else, and isn't even close to being polished.

Theoretically, the plumbing and coding pattern could be adapted to make
a .NET API to programmatically interact with any web site. Needless to say,
this is a rather fragile approach (since web pages can change at any time),
but occasionally it's just what is needed.

For more details, see the Readme.txt file.

To run the demo project, open gCalAPI.sln and hit run.

Note this was developed in VB.NET 2005 (though you could probably
back-convert to 2003).

Also, be warned that several functions make use of Application.DoEvents(),
and it's up to you to prevent reentry (e.g. by disabling user input controls
on your form when making calls to the API).

Screenshot from the demo EXE is below:

Here's a .NET combo box that was modified to show the calendars using this API (note that I had different calendars in my Google account for this example):