我正在尝试构建小型Web应用程序,以从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>
”
也许还有其他一些选项可以同步并仅从上次同步事件中进行修改。