In case you hadn’t heard as of yet, Google has just released their newest concoction: Google Calendar. I’d recommend you go check it out — It has to be one of the coolest web 2.0 applications I have seen as of yet. Here’s the problem, you have to have an internet connection to check your calendar!
For many people this is not a problem because their computer never leaves their desktop, but for a more mobile user like myself, a solid wireless connection cannot always be found. That being said, let me give a little background information on my experience with calendar applications. In the past I have messed around with Outlook, Mozilla Calendar, and most recently Rainlendar. I really like rainlendar as it sits quite nicelyon the desktop without using up many system resources.
So, here’s the question I had: can I get Google Calendar and Rainlendar to play nicely together??? At first it looked like the answer was a definite no. The one promising feature of Rainlendar was an included extension which allows one to import and watch an local ical data file and synchronize the rainlendar calendar with that file. Google Calendar allows for one to subscribe to an online ical feed.
The problem: Rainlendar requires the ical file to be local and google only provides a web location for the ical file.
The solution: Wget, a simple command line application which allows one to download a file from a remote location to the local hard drive. Following are the steps I took to get a working Rainlendar/Google Calendar setup.
- If you haven’t already done so, get a Gmail account, and go check out Google Calendar.
- Also, you’ll want to download Rainlendar if you haven’t already done so.
- Download Wget and extract the files to a location on your hard drive that is easy to remember (I put mine under “program files/wget/”).
- Go onto Google Calendar => Settings => Calendars => (Your Calendar) and then click on the link for the private address of your ical feed. Copy the url; you will need this in a minute.
- Now, we are going to need to create a batch script to download the ical file to the local hard drive using wget. To do this, open up a text editor such as notepad and write a simple script resembling this one (modified as needed) and save it somewhere as a .bat file:
@echo off
"C:\Program Files\wget\wget.exe" -O "C:\mycalendar.ics" [address copied from Google Calendar]
You will need to replace the ‘%40′ in the google calendar address with ‘@’, the at character. - Now you have a script which should download your calendar to your hard drive whenever it is run. Try running the script to verify that it works. Now we want to set up Rainlendar to synchronize with this file. In the Rainlendar menus go to config => plugins => iCalendar Plugin => Settings and add your file. Your rainlendar calendar should now be updated to match your Google Calendar.
- The final step of the process is to keep our local calendar up to date with the changes made to our Google Calendar. All that is needed to do that is to periodically run the batch script we created. This can be done automatically using a Scheduled Task. To create a Scheduled Task navigate to Control Panel => Scheduled Tasks => Add Scheduled Task. Browse to select your .bat file and modify the task to run as frequently as you like (mine updates hourly).
And that’s all there is to it… The final product is a nicely updated local calendar which sits on my desktop which is stored online on Google Calendar.

17 Comments so far
Leave a comment
Hi Paul,
I came across your blog for the first time tonight, and just wanted to say I found this post fascinating. I am also searching for a good calendar, and currently trying Outlook.
Jeremy Groeneweg
By jeremy groeneweg on 04.24.06 10:13 pm | Permalink
Wow, Paul. You have too much time on your hands or something!
By Lil' sis Hannah on 05.15.06 11:18 pm | Permalink
paul, this really interests me but i don’t have the assumed knowledge to complete the configuration. i assume i’m supposed to include the ical link in the .bat file, which is probably why “mycalendar.ics” isn’t being created in C:\. basically, i don’t know what to do with the .bat file beyond what you posted. if you could email me some assistance, it would be much appreciated.
By richard on 05.17.06 11:09 pm | Permalink
So I guess I’m not up on your blog so this is late. But the best solution to the calendar problem is to get iCal. It’s a great lil program that plays nicely with Google Calendar, and you can take it every where. (Yes that is another plug for the Mac!)
By bleaus on 05.21.06 2:34 pm | Permalink
You don’t really need to use a batch file. You can just put the wget command into the scheduled task itself. Then make sure the scheduled task gets run in the directory you want it to run in. That’s how I have mine set up.
By iluvitar on 05.21.06 10:03 pm | Permalink
I’ve seen this technique before. I’m a little worried because I’ve heard that Wget can be a security risk. My McAfee registers it as security threat. Is there a way to mitigate this or are these security warnings too hyped up?
By Chris on 05.30.06 2:20 pm | Permalink
I did some research on what vulnerabilities Wget might expose, and it does not seem that there are any serious ones for this sort of application. There is a security risk in passing unencrypted data with confidential information (such as passwords) over Wget or any application, but this batch script is doing no such thing.
McAfee recognizes that Wget has been used by malware to pass private information to a remote server, but Wget in and of itself poses no threat. http://vil.nai.com/vil/content/v_101106.htm
By Paul Osborne on 05.30.06 2:49 pm | Permalink
I was in the middle of writing instructions on how to do the exact same thing and I decided to see if anyone else had figured this out. Awesome job!
By Tom on 06.07.06 2:16 pm | Permalink
Sorry but I have problems with update of rainlendar.
mycalendar.ics has been well download but I see nothing on my events. Could you help me please?
Thanks
By Mathieu Picamal on 11.09.06 5:07 am | Permalink
Just my two cents: Be sure to replace the %40 part of the url for an @-sign, otherwise the .ics file won’t download.
By ap on 11.27.06 4:55 pm | Permalink
Excellent ! Just what I needed on my rainlendar (0.22)
I have one precision to add for everyone : when you use [address copied from Google Calendar] with firefox, replace “%40″ by “@” in your email (in the url).
By KaspOu on 06.12.07 11:31 am | Permalink
A full solution (with step-by-step instructions) that works, albeit not in the most user-friendly way.
GCAL Daeomn
http://gcaldaemon.sourceforge.net/usage2.html
By Nihir on 06.26.07 6:32 pm | Permalink
dude, use . it has bidirectional syncing, ftw
By peta on 07.13.07 3:16 pm | Permalink
But how do I synch G calendar with my rainlendar data?
THX
By Exilregierung on 07.28.07 2:29 pm | Permalink
Hi Paul,
I’m using rainlendar on my laptop as well as on my Desktop at work. I cam to your blog because I’m looking for an easy way to synchronize these two. So if I enter all my things in the Google Calendar I can download them from both sides. Do you have also an idea how to synchronize the other way?
If you have any idea, I’d be happy to recieve an answer.
Thanks
Ranseier
By Ranseier on 09.05.07 4:59 am | Permalink
hello paul,
thank you for the tips.
my rainlendar now work great with the google calendar.
however, it will be better if we could also makes google to sync back from rainlendar aswell.
also, worth to mention by AP(http://blog.posborne.net/archives/2006/04/15/google-calendar-and-rainlendar#comment-3128) that to replace the %40===>@ in the google calendar private link before u paste into the wget command.
thanks again paul.
By ilyas ishak on 01.05.08 6:02 pm | Permalink
Thanks for the comments. I have updated the wget command based on the suggestions. For syncing rainlendar and gcalendar I would check out the gcal daemon project on sourceforge.
I haven’t done much on this front since I now use linux as my primary desktop environment (you should too if you can get over the learning curve).
By admin on 04.03.08 3:53 am | Permalink
Leave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>