Как ДОБАВИТЬ/РЕДАКТИРОВАТЬ/УДАЛИТЬ события в календаре ICLOUD с помощью CALDAV

Я реализую новую функциональность для управления событиями в календаре ICLOUD (включая мой собственный календарь, а также календарь других пользователей ICLOUD). Я успешно реализовал эту функциональность с помощью CALDAV, но здесь я хотел знать, есть ли лучший способ сделать то же самое. Ниже упомянутые шаги объяснят, как я достиг функциональности ДОБАВИТЬ/РЕДАКТИРОВАТЬ/УДАЛИТЬ с помощью CALDAV в календаре других пользователей ICLOUD.

[email protected]: учетная запись icloud пользователя, который поделился со мной своим календарем [email protected]: ссылка на мою учетную запись icloud

  1. [email protected] поделится своим календарем с [email protected] введите здесь описание изображения

    Как только я приму запрос, этот календарь будет указан в [email protected].

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

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

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

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

Будем признательны за любую помощь. Заранее спасибо.


person samiaj    schedule 28.03.2018    source источник
comment
Вы нашли какое-либо решение для этого? или, возможно, ссылка на это?   -  person Yusril Maulidan Raji    schedule 05.06.2018
comment
Я реализовал CalDAV API и считаю, что это единственный способ работать с ICLOUD.   -  person samiaj    schedule 19.06.2018


Ответы (1)


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

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

person Arnaud Quillaud    schedule 29.03.2018
comment
Спасибо за ответ. Для вашей ясности я пытаюсь понять, использую ли я правильный подход к обновлению календаря другого человека? Если нет, то как лучше всего это сделать. - person samiaj; 29.03.2018
comment
Да. Использование CalDAV является рекомендуемым подходом для iCloud. - person Arnaud Quillaud; 03.04.2018
comment
Спасибо за ваш ответ. Есть ли способ синхронизировать календарь с паролем приложения конечного пользователя? - person samiaj; 04.04.2018
comment
В моем случае каким-то образом каждый запрос на создание нового события приводит к 400 Bad Request. Вот подробности: stackoverflow.com/questions/50720196/ Буду признателен, если у вас есть какой-либо пример или ссылка, которую я могу увидеть. - person Yusril Maulidan Raji; 06.06.2018