4
votes

I am attempting to view a ical formatted calendar feed generated by my system in Google Calendar. I am doing this via Google Calendar's "Add by URL" function in the "Other Calendars" drop down menu, and supplying the URL to the dynamically generated ics ical file.

Google Calendar does successfully read the events from the feed and creates the calendar, however all the events are just shown as "Busy" with no details (summary, description, ect) other than the time of the event. The events also have a "Private" lock icon on them in the google calendar view.

I've looked over the generated iCal file's contents and I don't see any reason why Google Calendar would render the events as Private. Each VEVENT has its CLASS property set to "PUBLIC". I have also subscribed to the same URL in OSX's iCal application and the events display perfectly, with all details shown.

Below is a the generated ical file (with sensitive info removed):

BEGIN:VCALENDAR
PRODID:-//My Calendar//iCal Class MIMEDIR//EN
VERSION:2.0
METHOD:REQUEST
X-WR-CALNAME:Joe Smith
BEGIN:VEVENT
DTSTART:20111124T050000Z
DTEND:20111124T050000Z
TRANSP:OPAQUE
SEQUENCE:0
UID:ToDos_82
DTSTAMP:20111108T143800Z
DESCRIPTION;LANGUAGE=en;ENCODING=QUOTED-PRINTABLE:Quisque convallis elementum dui at tristique.
SUMMARY;LANGUAGE=en;ENCODING=QUOTED-PRINTABLE:Test Event
PRIORITY:0
CLASS:PUBLIC
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
DTSTART:20111124T050000Z
DTEND:20111124T050000Z
TRANSP:OPAQUE
SEQUENCE:0
UID:ToDos_83
DTSTAMP:20111108T143800Z
DESCRIPTION;LANGUAGE=en;ENCODING=QUOTED-PRINTABLE:Proin venenatis ullamcorper dui quis porttitor. 
SUMMARY;LANGUAGE=en;ENCODING=QUOTED-PRINTABLE:Another Test Event
PRIORITY:0
CLASS:PUBLIC
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
DTSTART:20111108T050000Z
DTEND:20111111T050000Z
LOCATION;LANGUAGE=en;ENCODING=QUOTED-PRINTABLE:CLS HQ
TRANSP:OPAQUE
SEQUENCE:0
UID:Events_10
DTSTAMP:20111108T143800Z
DESCRIPTION;LANGUAGE=en;ENCODING=QUOTED-PRINTABLE:Doing some more testing here
SUMMARY;LANGUAGE=en;ENCODING=QUOTED-PRINTABLE:Yet Another Test Event
PRIORITY:0
CLASS:PUBLIC
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR
3

3 Answers

2
votes

Well it appears that I have fixed the issue. The calendar's URL that I provided GCal did not end in a filename (I use a PHP framework with URL rewriting). I updated the URL, appending "/calendar.ics" to it and subscribed to the URL in GCal, and now all events seem to display fine, showing all details.

2
votes

The VEVENTS are marked as TRANSP:OPAQUE. According to the RCF 5545 this means they are blocking elements for a time search.

To make them non blocking change it to TRANSP:TRANSPARENT.

0
votes

I've tested the same content and it seems to show up fine in my Google Calendar. I added it using the "Add By URL" option under "Other Calendars". All the details are visible, no locks or other weirdness shown for me.

It sounds like you are dynamically generating the content on-demand. Have you tried just dumping it to a static file and adding it that way - not as a permanent solution, just to see if that makes a difference to GCal?

It may be that the dynamic generation of calendar data takes into account the requester and changes event visibility on that basis. This could easily be the case if, for example, the calendar server is on your intranet.