假设CalDAV客户端真的很愚蠢(深度嵌入)并且无法自行计算重复事件。但它能够输入CalDAV请求。假设CalDAV日历存储了生日。一个这样的生日是在2000-12-31。现在,客户希望在2005-05-05和2008-05-05之间接收所有生日。
我可以让Radicale响应这样的请求的唯一方法是给出一个条目,DTSTART = 2000-12-31和RRULE属性集。
但是,我希望收到三个单独的实例,其日期为2005-12-31,2006-12-31和2007-12-31。我试图使用“limit-recurrence-set”和“expand”,但是我所描述的都没有。 CalDAV有没有办法实现我解释的目标?
答案 0 :(得分:1)
这可能是Radicale的限制,CalDAV本身确实支持复发扩展:RFC 4791 Section 7.8.3。 RFC中显示的示例:
REPORT /bernard/work/ HTTP/1.1
Host: cal.example.com
Depth: 1
Content-Type: application/xml; charset="utf-8"
Content-Length: xxxx
<?xml version="1.0" encoding="utf-8" ?>
<C:calendar-query xmlns:D="DAV:"
xmlns:C="urn:ietf:params:xml:ns:caldav">
<D:prop>
<C:calendar-data>
<C:expand start="20060103T000000Z"
end="20060105T000000Z"/>
</C:calendar-data>
</D:prop>
<C:filter>
<C:comp-filter name="VCALENDAR">
<C:comp-filter name="VEVENT">
<C:time-range start="20060103T000000Z"
end="20060105T000000Z"/>
</C:comp-filter>
</C:comp-filter>
</C:filter>
</C:calendar-query>