As Apple started the beta of iCloud for developers, I wondered if I could use the calendars with my Thunderbird installation too.
The misfortune with iCloud is that Apple officially doesn’t support third-party software/clients (e.g. Thunderbird) for their products. In fact, you have to figure out the calendar and CardDAV/Contacts URLs.
I’ve changed the mode of accessing the PHP version since I got listed as a phishing site and had legal issues with Apple: you have to download it an run it locally using e.g XAMPP or you can use the Groovy/Java application. Instructions and download can be found on the dedicated site at http://icloud.niftyside.com.
I hope, you’ll enjoy using iCloud calendars with your favourite calendar software!
If the script helps you, please consider at least a small donation. Thank you for your support!
UPDATE!!! In Thunderbird Caching don’t work!
UPDATE 2 & 3 (Thunderbird/Lightning Bug): Since the new Thunderbird version, Thunderbird has a bug with fetching the calendars. This is due to a bug of Lightning, so downgrading Thunderbird to a lower version without downgrading Lightning won’t work!
Nevertheless, using iCloud calendars with Sunbird works pefectly.
I just saw that somebody already filed a bug at the Lightning project (thanks to that person!): https://bugzilla.mozilla.org/show_bug.cgi?id=695117.
UPDATE 4/5: Since the new Thunderbird/Lightning version has been released, everything works fine again! Until yet, I haven’t discovered any issues.
UPDATE 6/7: Some days ago I was notified about some nice side effects of my script. You can easily use the principal URL for any CardDAV clients and I discovered that you can use 8 different servers for getting the settings. I have updated the dedicated page and my script to give a short overview of this new things.
UPDATE 8: As I got noticed about some publicly available scripts, I want to inform you that I had some legal issues with Apple before. Due to this I need to prohibit those things. Please make sure that you really read the instructions/README file carefully! Thank you!
UPDATE 9: From now on, a simple Java application is also available. It can also be downloaded at the dedicated page!
UPDATE 10: Some minor code cleanup, enhancements and package restructuring has been done in the Java version. Furthermore, Gradle support has been added for the Java version too.
UPDATE 11: Due to some bug in Lightning Apple seems to have blocked Lightning used as the user agent. A possible workaround for this issue is to manually modify the sent user agents used by Thunderbird by changing the “calendar.useragent.extra” attribute to remove the “Lightning/1.9.1” or “Lightning/1.9.0” string in “about:config”. Further explanation for this workaround can be found at: https://groups.google.com/forum/#!topic/mozilla.support.calendar/ISvf4jRHrmo
UPDATE 12: Java version has been rebased to Groovy which is based on Java again. Also, some minor bugfixes has been made and the principal and CardDAV URLs have been included in the table as well as a new project structure has been applied. Furthermore, the Groovy/Java command line application is now available too.
UPDATE 13: PHP version retrieves CardDAV URL via proper CardDAV request.
UPDATE 14: Groovy/Java version retrieves CardDAV URL via proper CardDAV request.