Как удалить повторяющиеся события из клиента Caldav для календаря iCloud
Я работаю над клиентом Caldav для iCloud Calendar
, Когда мы запрашиваем список календарей, есть несколько следующих календарей, которые не видны в iCloud
интерфейс.
/calendars/notification/, /calendars/tasks/, /calendars/inbox/
Наряду с обычными календарями нравится.
/calendars/home/, /calendars/work/
Проблема в том, что некоторые события в домашнем календаре дублируются и во входном календаре. Чтобы создать это дело, пригласите кого-нибудь на событие, поэтому это событие появится в его домашнем календаре и в папке входящих сообщений.
Как мы можем удалить эти дубликаты записей. Можем ли мы игнорировать такие календари, если да, как получить список невидимых календарей?
Спасибо
1 ответ
При отправке запроса PRPOPFIND вы должны запросить свойство DAV:resourcetype. В ответе сервера надлежащие календари будут иметь подэлемент CALDAV:calendar в этом свойстве (см. https://tools.ietf.org/html/rfc4791), тогда как входящие будут иметь CALDAV:schedule-inbox подэлемент (см. http://tools.ietf.org/html/rfc6638) и один из уведомлений, вероятно, будет иметь еще одно значение.
Календарь задач, вероятно, представляет собой настоящий календарь, содержащий VTODO.
Что касается "повторяющихся событий", то это не фактические ресурсы календаря CalDAV, а скорее сообщения iTIP (приглашения, а также ответы и сообщения отмены). Вы можете использовать их, чтобы уведомить своего пользователя о том, что он получил приглашение или что посетитель ответил на приглашение, которое он отправил.