How to remove user from Attendee list in .ics?

Viewed 759

I am using .ics file to send calendar invite to google users from my app, when a user is removed from the attendees in my app,

  • I am resending the .ics with updated attendees list to attendees who are still in the meeting.
  • send the removed attendees new .ics with cancel event.

however, the removed attendees are still showing in the event for other users.

how do I remove attendees from event using ICS?

first .ics:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:MyDemoApp
METHOD:REQUEST
BEGIN:VEVENT
UID:useremovetest1jdfshsdpfh
SEQUENCE:0
CREATED:20191014T085551Z
DTSTAMP:20191014T085551Z
LAST-MODIFIED:20191014T085551Z
DTSTART:20191014T112347Z
DTEND:20191014T113547Z
SUMMARY:user remove test - 2
LOCATION:@my-dev-env
DESCRIPTION:some dummy desc 
ATTENDEE;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=
 true:mailto:user1@gmail.com
ATTENDEE;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=
 true:mailto:user2@gmail.com
ATTENDEE;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=
 true:mailto:user3@gmail.com
ORGANIZER;CN=Invitation - user remove test - 2:user1@gmail.com
END:VEVENT
END:VCALENDAR

.ics when a attendee is removed:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:MyDemoApp
METHOD:REQUEST
BEGIN:VEVENT
UID:useremovetest1jdfshsdpfh
SEQUENCE:0
CREATED:20191014T085422Z
DTSTAMP:20191014T085422Z
LAST-MODIFIED:20191014T085422Z
DTSTART:20191014T112347Z
DTEND:20191014T113547Z
SUMMARY:user remove test - 2
LOCATION:@my-dev-env
DESCRIPTION:some dummy desc - update
ATTENDEE;ROLE=REQ-PARTICIPANT;RSVP=true;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-AC
 TION:mailto:user1@gmail.com
ATTENDEE;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=
 true:mailto:TION:mailto:user2@gmail.com
ORGANIZER;CN=Invitation - user remove test - 2:user1@gmail.com
END:VEVENT
END:VCALENDAR

user2@gmail.com still stays in the attendee list. however, title, desc etc are updating successfully.

1 Answers

It looks like your DTSTAMP and LAST-MODIFIED values are "backward" in the sense that the updated invite has an earlier timestamp than the original one.

First invite:

DTSTAMP:20191014T085551Z

Updated invite:

DTSTAMP:20191014T085422Z

As a consequence this second ics is likely to be ignored by clients as per https://www.rfc-editor.org/rfc/rfc5546#section-2.1.5

Related