Как добавлять / редактировать / удалять события в календаре ICLOUD с помощью CALDAV

Я внедряю новую функциональность для управления событиями в календаре ICLOUD (включая мой собственный календарь, а также календарь других пользователей ICLOUD). Я успешно реализовал эту функциональность с помощью CALDAV, но здесь я хотел бы узнать, есть ли лучший способ сделать то же самое. Ниже упомянутые шаги объяснят, как я достиг функциональности ADD/EDIT/DELETE с CALDAV в календаре других пользователей ICLOUD.

otheruser@gmail.com: учетная запись icloud пользователя, который поделился со мной своим календарем myaccount@gmail.com: ссылка на мою учетную запись icloud

  1. otheruser@gmail.com поделится своим календарем с myaccount@gmail.com

    Как только я приму запрос, этот календарь будет указан в myaccount@gmail.com

  2. Используя ниже CALDAV API, я получу все календари, перечисленные в моем аккаунте

  3. Из ответа на вышеуказанный запрос я получу каждый URL-адрес календаря и, соответственно, выполню действие добавления / редактирования / удаления.

Примечание. Здесь есть один недостаток: мне нужно попросить каждого пользователя моего приложения поделиться своим личным календарем (но делиться им с частным, а не как общедоступным) со своей учетной записью.

Я использую C#, поскольку это приложение.net.

Любая помощь будет оценена. Спасибо заранее.

1 ответ

Вопрос довольно широкий, поэтому трудно понять, что вы ищете.

В любом случае в вашем запросе PROPFIND есть одна вещь: вам также следует запросить свойство DAV:resourcetype (определенное в https://tools.ietf.org/html/rfc4918) и в своем ответе рассмотрите только те, которые имеют значение календаря в своем типе ресурса (см. https://tools.ietf.org/html/rfc4791).

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