I recently called Apple technical support for a problem I was having syncing my iCloud calendar with Google calendars. I copied the iCloud calendar URL and pasted it into Google's import box and got this error:
Could not fetch the url because robots.txt prevents us from crawling the url.
The ridiculous thing about this is that the very same calendar can easily be shared with a Yahoo calendar.
The guy at Apple's technical support was actually very friendly and helpful. He immediately understood the problem and took a couple seconds to see that he could easily reproduce the problem as well.
He told me he'd send a report on to engineering.
A couple weeks later, he got back to me and stated that Engineering acknowledged that this was an issue but they had no intention of addressing the problem.
I use iCal for my personal calendar and want to be able to import that into my work's google calendars. Unfortunately, according to Apple, I won't be able to do this simple task.
Sure would appreciate some guidance or suggestions here.
Thanks so much.
I found a solution, well, let's call it a workaround. It's actually two different ways of accessing the calendar, use whichever you like:
this is exactly the reason why you are not able to "out-of-the-box" display your iCloud calendar in Google Calendar - and I agree, it does make sense to hide private data from the Google (or *name-your-search-engine*) crawlers.
Unfortunately I didn't have the time to test the solutions to that problem I have in mind, so I am just going to paste them here in case anyone wants to give it a shot:
1) Use the X-Robots-Tag http header
Place the following line next to the other header() calls in the php script:
2) Use $_SERVER['HTTP_USER_AGENT'] to identify the user agent in the php script
Then decide for which useragent you *do* want to display content, and for which you may want to give an error message or simply a blank page.
List of search engine bots: http://antezeta.com/news/search-engine-crawlers
3) Similar to (2), use $_SERVER['REMOTE_HOST'] to find the source of the http request and block it accordingly
Maybe there is a more elegant solution than the ones mentioned, or maybe all possible solutions directly lead us to the problem where we are coming from (and thus Apple just lives with the fact that the calendar is not accessible from GCal). It's worth a try though
I tried your service, but got the error message:
Sorry, that doesn't look like an iCloud calendar URL.
The iCloud calendar URL I want to subscribe to starts with webcal://p01-calendarws.icloud.com/
etc.. and finishes with a -
Am I doing anything wrong? Do I need to change anything in the URL?
Hi Jason - thanks so much for your link/help. I've spent all morning trying to get my iCloud calendar onto google and this was the only thing that worked!
One question: i now have my normal Google calendar "Roly Allen", and an additional calendar "Calendar" which is the one I've just imported with your link. Do you know how I can merge the two (or add the entries from "Calendar" to "Roly Allen") so that I can just use the one main calendar "Roly Allen"?
Any help would be much appreciated.