Обновление повторяющегося события vCalendar - PullRequest
0 голосов
/ 04 января 2012

Я работаю над настраиваемым календарем SharePoint, который использует код .NET для визуализации полезной нагрузки VCALENDAR с электронной почтой, которую я отправляю всем участникам.

Пока что моя реализация работает отлично, за исключением обновления повторяющихся событий.Outlook не смог распознать измененный DTSTART / DTEND, когда я отправляю обновленный VCALENDAR с тем же UID.Похоже, мне не хватает определенного поля для повторяющихся событий.

Вот пример моего VCALENDAR, который я посылаю всем участникам, чтобы обновить существующее повторяющееся событие:

BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:Microsoft CDO for Microsoft Exchange
VERSION:2.0
BEGIN:VTIMEZONE
    TZID:tz
    X-MICROSOFT-CDO-TZID:10
    LAST-MODIFIED:20111229T172655Z
    BEGIN:STANDARD
        DTSTART:20111106T020000
        TZOFFSETTO:+0000
        TZOFFSETFROM:+0000
    END:STANDARD
    BEGIN:DAYLIGHT
        DTSTART:20120313T020000
        TZOFFSETTO:+0100
        TZOFFSETFROM:+0000
    END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
    SUMMARY:Simple Event\, Attendees:Tin Tin 
    ORGANIZER:MAILTO:tin.tin@acme.com
    ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=;X-NUM-GUESTS=0:mailto:tin.tin@acme.com
    ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=;X-NUM-GUESTS=0:mailto:tin.tin@acme.com
    LOCATION:Conference Room
    DTSTAMP:20111229T172652Z
    UID:D26B0632-8496-4E76-977F-E7A04AF4CF4D
    SEQUENCE:1
    URL;VALUE=URI:http://acme/Lists/Conf/DispForm.aspx?ID=1178
    DTSTART;TZID=tz:20111229T140000
    DTEND;TZID=tz:20111229T150000
    RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=TH;WKST=SU
    END:VEVENT
END:VCALENDAR

1 Ответ

0 голосов
/ 14 мая 2012

Чтобы правильно обновить любое существующее событие через VCalendar, всегда обязательно увеличивайте значение SEQUENCE в разделе VEVENT:

BEGIN:VEVENT
    SUMMARY:Simple Event\, Attendees:Tin Tin 
    ORGANIZER:MAILTO:tin.tin@acme.com
    ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=;X-NUM-GUESTS=0:mailto:tin.tin@acme.com
    ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=;X-NUM-GUESTS=0:mailto:tin.tin@acme.com
    LOCATION:Conference Room
    DTSTAMP:20111229T172652Z
    UID:D26B0632-8496-4E76-977F-E7A04AF4CF4D
    **SEQUENCE:2**
    URL;VALUE=URI:http://acme/Lists/Conf/DispForm.aspx?ID=1178
    DTSTART;TZID=tz:20111229T150000
    DTEND;TZID=tz:20111229T160000
    RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=TH;WKST=SU
    END:VEVENT
END:VCALENDAR
...