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

Другие вопросы по тегам