Не удалось обновить событие ics в веб-календаре - PullRequest
0 голосов
/ 02 июня 2018

Я пытаюсь создать фид ics для подписчиков через webcal.Содержимое канала поступает из базы данных и выглядит следующим образом.

При обновлении базы данных канал изменяет и обновляет календари подписчиков.Он отлично работает с календарем Google и некоторыми приложениями календаря.Однако я никогда не наблюдаю обновления в outlook.com (веб-календарь) или в календаре Yahoo.Что-то не так в фиде, поэтому обновление не удалось?

Фид предоставляется через webcal: //example.com/subscribe.php, и я ставлю header('Content-Type: text/calendar; charset=UTF-8'); в качестве первой строки PHP

ics:

BEGIN:VCALENDAR
PRODID:-//Organisation//Roster//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:Duty Arrangement
X-WR-CALDESC:Duty Arrangement
X-WR-TIMEZONE:Asia/Hong_Kong
REFRESH-INTERVAL;VALUE=DURATION:PT6H
X-PUBLISHED-TTL:PT6H
BEGIN:VEVENT
DTSTART:20180218T020000Z
DTEND:20180218T033000Z
DTSTAMP:20180602T144036Z
UID:228Mip5LyZ5JqY5@organisation.com
DESCRIPTION:Task A
LOCATION:Office
SUMMARY:On Duty
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
DTSTART:20180304T020000Z
DTEND:20180304T033000Z
DTSTAMP:20180602T144036Z
UID:230Mip5LyZ5JqY5@organisation.com
DESCRIPTION:Task B
LOCATION:Office
SUMMARY:On Duty
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR

1 Ответ

0 голосов
/ 03 июня 2018

У вас есть UID, но для событий файла ICS требуется номер ПОСЛЕДОВАТЕЛЬНОСТИ, чтобы указать, какое обновление / версия события является самым последним.
См. Спецификацию https://tools.ietf.org/html/rfc5545#section-3.8.7.4

Для повторяющихся экземпляров событий они такженужен RECURRENCE-ID изменяемого экземпляра.

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