ICAL в календаре Google имеет дополнительное событие - PullRequest
0 голосов
/ 14 января 2020

Я столкнулся с проблемой, когда в календаре Google отображается дополнительное событие календаря. ICS

PRODID:-//TEST//NONSGML Version 1//EN
VERSION:2.0
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:Asia/Kolkata
BEGIN:DAYLIGHT
DTSTART:19411001T000000
TZOFFSETFROM:+055320
TZOFFSETTO:+0630
RDATE:19411001T000000
END:DAYLIGHT
BEGIN:DAYLIGHT
DTSTART:18800101T000000
TZOFFSETFROM:+055328
TZOFFSETTO:+055320
RDATE:18800101T000000
END:DAYLIGHT
BEGIN:DAYLIGHT
DTSTART:19420901T000000
TZOFFSETFROM:+0530
TZOFFSETTO:+0630
RDATE:19420901T000000
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:19420515T000000
TZOFFSETFROM:+0630
TZOFFSETTO:+0530
RDATE:19420515T000000
RDATE:19451015T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:19700119T063633Z
ORGANIZER:mailto:invite@a.com
UID:3fDJ2_gx5QJr4ygb@EqPBCMSzkxGfKg0
SEQUENCE:0
RRULE:FREQ=WEEKLY;WKST=SU;INTERVAL=1;BYDAY=SU,FR,SA
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:mailto:a@gmail.com
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:mailto:a@b.com
DTSTART;TZID=Asia/Kolkata:20200114T150000
DTEND;TZID=Asia/Kolkata:20200114T160000
SUMMARY:DEV TEST 
TRANSP:OPAQUE
CREATED:20200114T091621Z
LAST-MODIFIED:20200114T091621Z
STATUS:CONFIRMED
LOCATION:Location
DESCRIPTION:Description
END:VEVENT
END:VCALENDAR

Календарь создается в среду, чтобы никогда не заканчиваться еженедельно в дни пятницы, субботы и воскресенья. В календаре Google я наблюдаю, что для среды (дата создания) создано дополнительное событие, включая повторяющиеся события. Я не наблюдаю эту проблему в календаре.

Любая идея, почему существует дополнительное событие для даты создания события, созданной только в календаре Google и не наблюдаемой в календаре Outlook.

1 Ответ

0 голосов
/ 15 января 2020

Я думаю, что это связано с различными интерпретациями спецификации iCalendar:

https://tools.ietf.org/html/rfc5545#section -3.8.5.3

В частности, этот раздел:

Свойство «DTSTART» определяет первый экземпляр в наборе повторений. Значение свойства «DTSTART» СЛЕДУЕТ синхронизировать с правилом повторения, если оно указано. Набор повторений, созданный со значением свойства «DTSTART», не синхронизированным с правилом повторения, не определен.

Таким образом, RF C не определяет, что происходит, когда DTSTART не соответствует повторению правила, и, вероятно, Google и Microsoft использовали разные подходы.

Чтобы избежать этого, убедитесь, что ваш DTSTART происходит в пятницу, субботу или воскресенье.

...