什么是Apple iCloud默认日历?

时间:2017-05-29 08:39:03

标签: icloud caldav

我使用CalDav访问Apple iCloud Calendars。目前我的帐户中有4个日历:Home,Work,Test cal 1,Test cal 2.前两个似乎是默认创建的,另外两个是测试版。

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

/calendars/64E6F061-DE12-4D6F-B7D4-5DFDE53C800C/是我的Test Cal 1

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

/calendars/home/家庭日历,相信这是主日历

/2003926771/calendars/work/工作日历

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

/calendars/inbox/

/calendars/notification/

/calendars/tasks/

/calendars/outbox/

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

无论如何,主要问题是谁知道每个(默认?)iCloud日历的目的?

1 个答案:

答案 0 :(得分:3)

首先: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技术上支持两种风格,&#39; hybrid&#39;可以包含待办事项和事件的日历,以及单一类型的日历。 &#39;混合&#39;日历将在comp中包含多个supported-calendar-component-set元素。 iCloud服务器可以执行这两种样式。

首选哪种风格主要是品味问题。在Apple世界中,单一类型的日历是默认的,部分原因是提醒和日历是iOS和macOS上的不同应用程序。 (最初的MacOSX iCal应用程序是混合的)。此外,Outlook仅支持单一类型的日历。

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

/日历/发件箱/

outbox是支持日程安排的遗产。客户端会将会议请求等放入此集合中,然后服务器会代表客户端将它们扇出来。

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

摘要:只是跳过/忽略这个。

/日历/收件箱/

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

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

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

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

/日历/通知/

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