什么是 Apple iCloud 默认日历?



我正在使用CalDav访问Apple iCloud日历。目前,我的帐户中有 4 个日历:家庭、工作、测试 cal 1、测试 cal 2。前两个似乎是默认创建的,另外两个是测试的。

但是,当我列出校长的日历时,我得到了 8 个不同的日历:

/calendars/64E6F061-DE12-4D6F-B7D4-5DFDE53C800C/是我的测试校准 1

/calendars/A1FBED21-5ED1-4BEF-8C4F-88A0D425BB7A/是我的测试 Cal 2

/calendars/home/主页日历,相信这是主日历

/2003926771/calendars/work/工作日历

但我不确定这些其他日历的目的:

/calendars/inbox/

/calendars/notification/

/calendars/tasks/

/calendars/outbox/

可以尝试从他们的名字中猜测,但这会导致更多问题。 例如,tasks可能意味着VTODO在此日历中进行管理,但这是否意味着VTODO未在任何其他日历中列出?

无论如何,主要问题是有人知道每个(默认?)iCloud日历的用途吗?

首先:CalDAV 服务器可以包含任意 CalDAV 集合,而不仅仅是日历。 例如,服务器还包含 CardDAV 集合(又名地址簿)甚至用于文件存储的集合的情况并不少见。您可以通过查看其{DAV:}resourcetype属性来确定 WebDAV 集合的类型。对于 CalDAV 日历(包含实际 iCalendar 对象的集合),这将{urn:ietf:params:xml:ns:caldav}calendar

/

日历/任务

例如,任务可能意味着在此日历中管理 VTODO

正确。该集合将具有上述{urn:ietf:params:xml:ns:caldav}calendar资源类型。 集合可以包含哪些类型的 iCalendar 实体由{urn:item:params:xml:ns:caldav}supported-calendar-component-set属性确定,例如:

<supported-calendar-component-set xmlns="urn:ietf:params:xml:ns:caldav">
<comp name="VTODO"/>
</supported-calendar-component-set>

。在任务集合的情况下。

在服务器上创建新集合时,使用相同的属性指定日历的类型。

但这是否意味着VTODO不会在任何其他日历中列出

CalDAV 在技术上支持两种样式,可以包含待办事项和事件的"混合"日历,以及单一类型的日历。"混合"日历将在supported-calendar-component-set中包含多个comp元素。iCloud服务器可以同时执行这两种样式。

首选哪种风格很大程度上取决于品味问题。在苹果世界中,单体日历是默认的,部分原因是提醒和日历在iOS和macOS上是不同的应用程序。(最初的MacOSX iCal应用程序是混合的)。此外,Outlook 仅真正支持单类型日历。

长话短说:我建议保持它们不同,以避免发生奇怪的事情:-)

/

日历/发件箱/

发件箱是支持计划的遗留内容。客户端会将会议请求等放入此集合中,然后服务器将代表客户端将它们扇出。

iCloud现在充当自动调度的CalDAV服务器。简而言之,这意味着如果您将包含与会者等的VEVENT放入iCloud日历中,它将自动与这些与会者进行iTIP交互。

总结:只需跳过/忽略这一点。

/

日历/收件箱/

这是对等outbox,但与outbox不同的是,inbox仍在使用。当人们邀请您参加会议/活动时,inbox将包含客户端发送的会议请求。

使用自动调度CalDAV服务器,这主要用作通知用户被邀请的一种方式,也就是说,它将在iOS日历的"收件箱"选项卡中弹出,或在macOS日历上的通知弹出窗口中弹出。 请注意,使用自动计划服务器时,服务器还会在用户日历中更新或创建匹配的记录。也就是说,对于收件箱中的每个项目,您会在常规日历中找到另一个具有相同UID的项目(当然,除非是取消)。

在支持收件箱的非自动计划服务器中,客户端在技术上应该将 iTIP 项目从收件箱中取出并将其放入日历中。但我认为没有任何客户端仍然支持此操作,我不知道有收件箱但不自动调度的服务器。

摘要:此集合包含有关收件箱邀请的通知(作为 iTIP 对象)。

/

日历/通知/

这类似于收件箱,它是一个包含非 iTIP 通知的集合。它的主要用途是用于CalDAV共享日历。如果您被邀请加入日历,则此集合将包含邀请。