扩展CalDAV中的重复事件

时间:2016-06-08 19:52:27

标签: caldav

假设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有没有办法实现我解释的目标?

1 个答案:

答案 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>