multiple events not created in icalendar - events

My Request is :
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 5.0.2//EN
BEGIN:VTIMEZONE
TZID:UTC
BEGIN:STANDARD
DTSTART;VALUE=DATE:20140101
TZNAME:UTC
TZOFFSETFROM:+0000
TZOFFSETTO:+0000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
ATTENDEE;CN=Isha;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED:MAILTO:iagarwal#sch
eduleonce.com
DESCRIPTION:meeting details0
DTEND;TZID=UTC:20150601T061500
DTSTAMP:20150520T073543Z
DTSTART;TZID=UTC:20150601T051500
SEQUENCE:0
STATUS:Confirmed
SUMMARY:meeting 10
TRANSP:Opaque
UID:6BBD518F-B0E3-4157-A105-A7ECEB82D73E
END:VEVENT
BEGIN:VEVENT
ATTENDEE;CN=Isha;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED:MAILTO:iagarwal#sch
eduleonce.com
DESCRIPTION:meeting details1
DTEND;TZID=UTC:20150601T061500
DTSTAMP:20150520T073543Z
DTSTART;TZID=UTC:20150601T051500
SEQUENCE:0
STATUS:Confirmed
SUMMARY:meeting 11
TRANSP:Opaque
UID:6BBD518F-B0E3-4157-A105-A7ECEB82D73F
END:VEVENT
END:VCALENDAR
URL : https://p22-caldav.icloud.com/XXX/calendars/home
Method: POST
Depth:1
The web response does not return any exception. In web response I get http status code as "OK" but the event is not created on my icloud calendar.
I refered to enter link description here . Search for Example: Calendar Resource Bulk Create

Your POST request is on the calendar home which is the parent collection of actual calendars. I think you want to do the POST on one of your actual calendar.
https://p22-caldav.icloud.com/XXX/calendars/home/xxxx/
You have events with ATTENDEE property but no ORGANIZER property.

Related

How to set custom property on ics calendar invite

BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 14.0 MIMEDIR//EN
VERSION:2.0
METHOD:REQUEST
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VTIMEZONE
TZID:GMT
BEGIN:STANDARD
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
ATTENDEE;CN=test#abc.com;RSVP=TRUE:mailto:test#abc.com
ATTENDEE;CN=test#abc.com;RSVP=TRUE:mailto:test#abc.com
CLASS:PUBLIC
CREATED:20220916T003527
DESCRIPTION:test custom property in email.
DTEND;TZID=GMT:20110420T093502
DTSTAMP:20220916T003527
DTSTART;TZID=GMT:20220916T003527
LAST-MODIFIED:20220916T003527
ORGANIZER;CN=test#abc.com:mailto:test#abc.com
SUMMARY;ENCODING=QUOTED-PRINTABLE:Test Sample custom
TRANSP:OPAQUE
UID:22952194683567780405841975923477846064353531523395013511058263369055782053751411479304767882751767652242148467737398
X-EXTRAPARAMS:Test Extra Param
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-DISALLOW-COUNTER:FALSE
X-MS-OLK-AUTOFILLLOCATION:FALSE
X-MS-OLK-CONFTYPE:0
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR
In this we have set X-EXTRAPARAMS value which needs to be shown to user in his calendar but the value is not displayed to the user in his invite.
How can we set the same so that it is displayed to the end user in his calendar?
No calendar app will process a header it knows nothing about. If you want to reliably show something to an end user, it has to be either DESCRIPTION or SUMMARY.

How to cancel an event with an `.ics` file?

.ics and ical events are not a "forest trip" (as we say in french).
Below a working event -> a created event.
BEGIN:VCALENDAR
PRODID:-//mls//calendar//FR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
DTSTART:20220505T120000Z
DTEND:20220505T124000Z
DTSTAMP:20220503T210000Z
UID:uuidXYZ
ORGANIZER;CN=me#example.com:MAILTO:me#example.com
DESCRIPTION:xxxxxxxxxxx
LOCATION:somewhere
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:something
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
It works in Mail.app (os x) and GMail.
For example, I see this and this is perfect.
I'm also able to add this event to my calendar
However, I'm unable to cancel this event! Argh!
Below my cancelled event:
BEGIN:VCALENDAR
PRODID:-//mls//calendar//FR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:CANCEL
BEGIN:VEVENT
DTSTART:20220505T120000Z
DTEND:20220505T124000Z
DTSTAMP:20220503T210000Z
UID:uuidXYZ
ORGANIZER;CN=me#example.com:MAILTO:me#example.com
DESCRIPTION:xxxxxxxxxxx
LOCATION:somewhere
SEQUENCE:1
STATUS:CANCELLED
SUMMARY:something
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
Note that METHOD, SEQUENCE and STATUS have changed!
If I see this in Gmail (image below), the event DOESN'T disappear from my calendar... :-/
Do you have any idea why it's not working?
It's also not working in mail.app (OS X).
Thanks a lot!

Events imported by URL to Google Calendar appear as busy & private

Attempting to import by URL the following ics data by calling an endpoint on an API I'm working on. Google does import the events at the required time and date, but their title is busy and status Private even though the events contain CLASS:PUBLIC. Using icalendar ruby gem to build the ical data.
Also, the API responds with Content-Type: text/calendar header. Trying to import the data below through a file format works fine. The problem is in the URL import. Did not try Outlook/iCalendar. No solutions from other stackoverflow threads worked so far.
Any thoughts as to what might be the problem?
BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
DTSTAMP:20191120T143449Z
UID:4a22a9b7-8b20-487b-a4fb-bc0b6ff90adf
DTSTART:20191121T070000
DTEND:20191121T130000
CLASS:PUBLIC
SUMMARY:7a Driver
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20191120T143449Z
UID:5eda6340-bfec-417e-869a-d5f1af2ba433
DTSTART:20191122T070000
DTEND:20191122T130000
CLASS:PUBLIC
SUMMARY:7a Driver
END:VEVENT
END:VCALENDAR
This is a problem with the icalendar ruby gem.
I've created a sample ICS file like this:
BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:email#domain.com
X-WR-TIMEZONE:Europe/Madrid
BEGIN:VEVENT
DTSTART:20191120T160000Z
DTEND:20191120T170000Z
DTSTAMP:20191120T162746Z
UID:<id>#domain.com
CLASS:PUBLIC
CREATED:20191120T162722Z
DESCRIPTION:busy
LAST-MODIFIED:20191120T162722Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:event 1
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
DTSTART:20191120T173000Z
DTEND:20191120T183000Z
DTSTAMP:20191120T162746Z
UID:<another-id>#domain.com
CLASS:PRIVATE
CREATED:20191120T162733Z
DESCRIPTION:private
LAST-MODIFIED:20191120T162733Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:event 2
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR
Events
Event 1
CLASS:PUBLIC
TRANSP:OPAQUE
Meaning that it's a public event and I will be considered "Busy" during it.
Event 2
CLASS:PRIVATE
TRANSP:TRANSPARENT
Meaning that it's a private event and I will be considered "Free" during it.
Solution
I'd recommend you head to the library's Issue Tracker and file a bug report there.

ical validates but Exchange server rejects

I'm running out of ideas on what to change to make Exchange accept this ical. Unfortunately, we don't get any messages indicating what is wrong. Last modification was to remove RDATE tags. I thought that resolved the problem, but now this sample is being rejected
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Our/Product Identifier
CALSCALE:GREGORIAN
METHOD:REPLY
BEGIN:VTIMEZONE
TZID:America/Chicago
BEGIN:STANDARD
DTSTART:20151101T010000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20150308T030000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20150715T195751Z
DTSTAMP:20150715T200023Z
LAST-MODIFIED:20150715T200023Z
UID:04000CE00800000838BFD0010000008200E0007400000005B000B2561887101A8200000
010045B0263C63E600CED48900C71000645920EFD
SUMMARY:Test new event
LOCATION:office
DTSTART:20150715T200000Z
DTEND:20150715T210000Z
ORGANIZER;CN=Foo;RSVP=TRUE;PARTSTAT=ACCEPTED;ROLE=CHAIR:mailto:Foo#ba
r.com
STATUS:CONFIRMED
TRANSP:OPAQUE
SEQUENCE:0
END:VEVENT
END:VCALENDAR
It passes all the online ical validators I've tried. This ical is generated in response to a meeting invitation. The meeting invitation is handled without a problem, except that this ical attachment is rejected by the exchange server.
If this is a REPLY to an invitation, then you should have an ATTENDEE property corresponding to the attendee on behalf of whom this REPLY is generated, and an ORGANIZER. See https://www.rfc-editor.org/rfc/rfc5546#section-3.2.3 for the full list of mandatory fields in a REPLY.
It looks like you are mixing the ORGANIZER and ATTENDEE here:
ORGANIZER;CN=Foo;RSVP=TRUE;PARTSTAT=ACCEPTED;ROLE=CHAIR:mailto:Foo#bar.com
Assuming that Foo#bar.com is the attendee who is replying, you should instead have
ATTENDEE;CN=Foo;RSVP=TRUE;PARTSTAT=ACCEPTED;ROLE=CHAIR:mailto:Foo#bar.com
and you should have an ORGANIZER with the same value as in the invitation.
You may want to show us the original invitation to which you are trying to reply to as there are other properties which are linked to the original invitation.

canceling a published event in Lotus Notes calendar (icalendar)

I'm trying to create, change and cancel a published event in the Lotus Notes calendar. I've created ics files that create, change, and cancel events in Outlook successfully. However, that ics for the Cancel Event bombs in Lotus Notes. Secondly, I pulled some sample ics files from rfc 5546. I picked the simplest possible. I used the iCalendar examples from 4.1.1, 4.1.2, and 4.1.3 from the rfc. Once again, 4.1.3's Cancel Event ics file fails. I looked at rfc 2446, and the examples look identical. Included below are the ics files I've tried with Lotus Notes. Does anyone know how to cancel an event with an ics file in the Lotus Notes calendar?
Here are my ics files:
examples from RFC 2446/5546:
create.ics
BEGIN:VCALENDAR
METHOD:PUBLISH
PRODID:-//Example/ExampleCalendarClient//EN
VERSION:2.0
BEGIN:VEVENT
ORGANIZER:mailto:alex.m#foo.com
DTSTART:20140709T140000Z
DTEND:120140709T160000Z
DTSTAMP:120140605T130000Z
SUMMARY: Test Class 1
UID:0981234-1234234-23#example.com
END:VEVENT
END:VCALENDAR
update.ics
BEGIN:VCALENDAR
METHOD:PUBLISH
VERSION:2.0
PRODID:-//Example/ExampleCalendarClient//EN
BEGIN:VEVENT
ORGANIZER:mailto:alex.m#foo.com
DTSTAMP:120140605T150000Z
DTSTART:20140709T150000Z
DTEND:120140709T170000Z
SEQUENCE:1
UID:0981234-1234234-23#example.com
SUMMARY: Test Class 1
END:VEVENT
END:VCALENDAR
delete.ics
BEGIN:VCALENDAR
METHOD:CANCEL
VERSION:2.0
PRODID:-//Example/ExampleCalendarClient//EN
BEGIN:VEVENT
ORGANIZER:mailto:alex.m#foo.com
COMMENT: Class Cancelled
SEQUENCE:2
UID:0981234-1234234-23#example.com
DTSTAMP:120140605T160000Z
END:VEVENT
END:VCALENDAR
examples that work with Outlook 2013
create.ics
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
UID:FooBar Software-566
DTSTART:20140509T140000Z
DTEND:20140509T160000Z
DESCRIPTION:Course: Alex Test Course 19 (classroom)\nFriday, May 9: Alex Test Classroom 2, Company HQ, 9:00 AM - 11:00 AM; Time Zone: (GMT-06:00) Central Time (US & Canada)
LOCATION:Alex Test Classroom 2 at Company HQ
SUMMARY:Alex Test Course 19 (classroom)
SEQUENCE:0
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
update.ics
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
UID:FooBar Software-566
DTSTART:20140509T150000Z
DTEND:20140509T170000Z
ORGANIZER:support#ziiva.com
DESCRIPTION:Course: Alex Test Course 19 (classroom)\nFriday, May 9: Alex Test Classroom 2, Company HQ, 10:00 AM - 12:00 PM; Time Zone: (GMT-06:00) Central Time (US & Canada)
LOCATION:Alex Test Classroom 2 at Company HQ
SUMMARY:Alex Test Course 19 (classroom)
SEQUENCE:1
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
delete.ics
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:CANCEL
BEGIN:VEVENT
UID:FooBar Software-566
DESCRIPTION:Course: Alex Test Course 19 (classroom)
LOCATION:Alex Test Classroom 2 at Company HQ
SUMMARY:Alex Test Course 19 (classroom)
STATUS:CANCELLED
SEQUENCE:2
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR

Resources