Как удалить пользователя из списка участников в .ics? - PullRequest
0 голосов
/ 14 октября 2019

Я использую файл .ics для отправки приглашения календаря пользователям Google из моего приложения, когда пользователь удаляется из участников моего приложения,

  • Я пересылаю .ics с обновленными участникамисписок участников, которые все еще присутствуют на собрании.
  • отправьте удаленным участникам новые .ics с событием отмены.

однако удаленные участники все еще отображаются в событии для других пользователей. ,

как удалить участников из мероприятия с использованием 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 при удалении участника:

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 по-прежнему остается в списке участников. однако заголовок, описание и т. д. успешно обновляются.

1 Ответ

0 голосов
/ 15 октября 2019

Похоже, что ваши значения DTSTAMP и LAST-MODIFIED являются "обратными" в том смысле, что обновленное приглашение имеет более раннюю временную метку, чем исходное.

Первое приглашение:

DTSTAMP:20191014T085551Z

Обновленное приглашение:

DTSTAMP:20191014T085422Z

Вследствие этого клиенты, скорее всего, будут игнорировать эту вторую информацию согласно https://tools.ietf.org/html/rfc5546#section-2.1.5

...