问题
When importing a ics file ("iCalendar") into Google Calendar, the import proceed successfully and all event appear in the calendar, but all fields of the events are empty.
The only information displayed is "busy" ("occupé(e)" on the screenshot).
- No error message is displayed during the import.
- The ics file is validated fine by multiple validation libraries and online tools.
回答1:
This was caused in my case by the CLASS
property of my events being PRIVATE
or CONFIDENTIAL
.
See RFC 2245, section 4.8.1.3 "Classification".
Since the ics is added to Google Calendar via a public link, Google considers that it should not read and/or display the content of events not marked as PUBLIC
.
So the solution was to change the class of my events to
CLASS:PUBLIC
Note that this is probably a misinterpretation of the spec, as it is clearly stated that:
[...] due to the "blind" nature of most exchange processes using this memo, these access classifications cannot serve as an enforcement statement for a system receiving an iCalendar object. Rather, they provide a method for capturing the intention of the calendar owner for the access to the calendar component.
Emphasis mine.
来源:https://stackoverflow.com/questions/38329950/icalendar-events-imported-in-google-calendar-are-empty