2

我需要帮助。我在我们的系统上实现了一个 CalDav 客户端,它就像一个魅力。现在我在 iCloud 上创建新日历时遇到了一些问题。也许你们中的一些人知道我该如何解决这个问题。

目前我收到 412 错误。

标题:

"Depth: 1"
"Content-Type: application/xml; charset=UTF-8"
"User-Agent: DAVKit/4.0.1 (730); CalendarStore/4.0.1 (973); iCal/4.0.1 (1374); Mac OS X/10.6.2 (10C540)"`

要求:

`MKCOL`

身体:

    <D:mkcol xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> 
    <D:set>
      <D:prop>
        <D:resourcetype>
          <D:collection/>
          <C:calendar-collection/>
       </D:resourcetype>"
       <D:displayname>some name</D:displayname>
      </D:prop>
    </D:set>
    </D:mkcol>`

网址:

https://caldav.icloud.com/1722222111/calendars/64DA8FE9D95A40E4B83A45B47DEC6C53/

URL 是我的原则(我当然更改了它)和日历资源的随机生成的 UUID。

也许有人发现任何错误?6个月前工作正常。

非常感谢!

4

2 回答 2

2

虽然端点上似乎存在映射错误caldav.icloud.com(如果您想引用,则将其归档为 Radar 46258347),但您首先应该/calendars在此端点上点击 URL。

您仅用于caldav.icloud.com发现主体资源(代表用户/帐户)。这包含为您的帐户托管 caldav 服务器的实际分区,如下所示:

https://pXX-caldav.icloud.com/asdfjasdjkjfd/calendars/

这些端点似乎仍然可以正常工作(刚刚尝试过)。

那么如何从caldav.icloud.com实际的 CalDAV 服务器获取信息呢?您需要检索calendar-home-set主体的属性。

整个过程在 CalDAV RFC 或这个不错的指南中进行了描述:http: //sabre.io/dav/building-a-caldav-client/#discovery

于 2018-11-26T23:17:09.377 回答
1

如果您https://pXX-caldav.icloud.com/123456789/calendars/new-calendar-name-or-href/用于提出MKCOL请求,那么您将获得201 CREATED状态,并且您的新收藏的 href 将是pXX-caldav.icloud.com/123456789/calendars/new-calendar-name-or-href/

于 2018-11-18T10:11:58.630 回答