我正在为iCloud Calendar
开发 Caldav客户端。当我们请求日历列表时,以下几个日历在iCloud
界面中不可见。
/calendars/notification/, /calendars/tasks/, /calendars/inbox/
与普通的日历一样。
/calendars/home/, /calendars/work/
问题是家庭日历中的一些事件也会在收件箱日历中重复出现。要创建此案例,请邀请某人加入事件,因此此事件将显示在其主日历和收件箱日历中。
我们如何删除这些重复条目。我们可以忽略这些日历,如果是,如何获取隐形日历列表?
由于
答案 0 :(得分:2)
发出PRPOPFIND请求时,应该询问DAV:resourcetype属性。在来自服务器的响应中,正确的日历将在此属性中具有CALDAV:calendar子元素(请参阅https://tools.ietf.org/html/rfc4791#section-4.2),而收件箱将具有CALDAV:schedule-inbox子元素(请参阅http://tools.ietf.org/html/rfc6638#section-2.2)和通知一个人可能还有其他价值。
任务日历可能是包含VTODO的真实日历。
就“重复事件”而言,这些不是实际的CalDAV日历资源,而是iTIP Messages(邀请,但也是回复和取消消息)。您可以使用它们通知您的用户他已收到邀请或者与会者已回复他发送的邀请。