CalDAV выборка только изменения - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь создать небольшое веб-приложение для получения событий из календаря icloud онлайн.Нет никаких веб-хуков, поэтому единственный способ получить изменения без EventKIT (который доступен только для настольных / мобильных приложений) - это использовать CALDAV.

Нет проблем получить календари или события, но яЯ хочу получить все изменения из iCloud очень быстро, после того, как это произойдет.В календаре есть реквизит LAST-MODIFIED, но я не могу отфильтровать его.Я пытался, но это не сработало:

curl -s -X REPORT -u "xxxx@xxxx.com:xxx-xxx-xxx" https://p44-caldav.icloud.com/XXXX/calendars/XXXX -d "<C:calendar-query xmlns:D='DAV:'
                 xmlns:C='urn:ietf:params:xml:ns:caldav'>
 <D:prop>
   <D:getetag/>
   <C:calendar-data>
   <C:comp name='VCALENDAR'>
   <C:comp name='VEVENT'>
   <C:prop name='UID'/>
    </C:comp>
                                     </C:comp>
                                   </C:calendar-data>
 </D:prop>
 <C:filter>
   <C:comp-filter name='VCALENDAR'>
     <C:comp-filter name='VEVENT'>
     <C:prop-filter name='LAST-MODIFIED'>
       <C:time-range start='20150209T100750Z'
                       end='20250211T20750Z'/>
       </C:prop-filter>            
     </C:comp-filter>
   </C:comp-filter>
 </C:filter>

"

Возможно, есть другие параметры для синхронизации и изменения только из последних событий синхронизации.

...