适用于iClouds的CalDAV客户端:MKCALEDAR请求停止工作,并因412前提条件失败而失败

时间:2018-11-18 19:32:55

标签: java icloud caldav

我为使用CalDAV协议的iCloud日历服务开发了一个客户端。我将caldav4j库用于Java,但是遇到的问题是语言/库无关的。 几天前,在我的客户端中创建新日历停止了工作。现在,在将MKCALENDAR请求发送到iCloud时,我得到412 Precondition Failed状态代码。其他操作,例如获取日历资源列表,获取事件,创建和更新事件,与以前一样。

我也尝试对其进行CURL处理,并使用Postman发送类似的请求,并且结果始终相同-412 Precondition Failed。 我的客户发送的创建新日历的示例请求如下所示:

MKCALENDAR /xxxxxxxxxx/calendars/2321321CH34CHU35Y4UI5YVU31TIBCYTUIYBUI3 
HTTP/1.1
Host: caldav.icloud.com
Content-Type: text/xml
Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==
cache-control: no-cache    
<?xml version="1.0" encoding="UTF-8"?>
<C:mkcalendar xmlns:C="urn:ietf:params:xml:ns:caldav">
<D:set xmlns:D="DAV:">
    <D:prop>
        <D:displayname>new calendar</D:displayname>
        <C:calendar-description xml:lang="en">my description</C:calendar-description>
    </D:prop>
</D:set>
</C:mkcalendar>

带有xxxxx的部件包含我正确的主体ID和授权令牌。

有人知道苹果最近是否在这里进行了更改?我确定我没有更改代码中的任何内容,而几天前的示例中的请求也成功完成了。

0 个答案:

没有答案