views:

14970

answers:

6

I don't see any obvious way to import ICS files into Google Calendar from the API docs here:

http://code.google.com/apis/calendar/developers_guide_protocol.html

And I'd greatly prefer not to have to parse them myself just to send the appointments into GCal. I'm looking for a programmatic solution, not something like import plugins for Thunderbird, Outlook, etc. Third party APIs to do the ICS parsing are acceptable, in any language. Any ideas?

+2  A: 

You shouldn't have to parse an ICS just to import it into Google Calendar, it is capable of importing them directly... From the end-user's web view, it's as easy as clicking Import Calendar. From the API, I would look at the Adding New Subscriptions section.

Grank
This doesn't quite work, because I don't want to subscribe to a web-based calendar. The data I want to push in isn't available on the web. I want to basically upload a file and have Google calendar become the canonical store for it.
Joe Shaw
Ohhh, fair enough
Grank
A: 

google.com/support/calendar/bin/answer.py?hl=en&answer=37118

Import events from iCalendar or CSV files Print

To import events from iCalendar or CSV files, just follow these steps:

  1. Click the Add down-arrow button at the bottom of the calendar list on the left side of the page, and select Import Calendar.
  2. Click Browse and choose the file that contains your events, then click Open.
  3. Select the Google Calendar where you'd like to import events, then click Import.

Please note that recurring events may not be recognized when importing events from CSV files. In this case, individual items will be created for recurring events that fall between the dates you've selected.

David Fraser
+2  A: 

For my iCal2GCal app I'm using the Googlecalendar Ruby Gem to both parse .ics files and then add the events inside to a Googlecalendar. It might give you some ideas on how to go about it. You can check out the full source code.

David Verhasselt
Unfortunately the googlecalendar rubygem doesn't seem to work with Google Apps accounts, so I can't test this.
Joe Shaw
+3  A: 

I have created a simple open source .net utility to do just that, available at http://gcalicsimporter.codeplex.com/.

Alejandro Mezcua
Looks good, although I couldn't get it running on Mono on OS X.
Joe Shaw
A: 

Had a problem importing a Lotus Notes calendar into Google Calendar. Problem: Notes exports each type of Notes Calendar entry (Meeting, Appointment, All-Day Event, Anniversary and Reminder) into seperate VCALENDAR entries in a single .ics file. So I removed the intermediate END:VCALENDAR and BEGIN:VCALENDAR entries (along with the associated calendar definitions) and re-imported the .ics. It still gives me a message that not all entries were imported, but it's looks hullah better than it did before and I am still trying to figure out what is missing from the gCal. We use Notes at work, I am often at different sites and I do NOT want a BlackBerry, so keeping my schedule up-to-date in Google is critical for me. If anyone knows why not all entries are being imported, shoot me a response. Thanks, Ish

Ish
A: 

Google really dropped the ball on this one, especially for Apps Calendar. I would like to see a cross-platform solution; a firefox add-on would be ideal but doesn't appear to exist yet.

Brent W. Hopkins