我为使用CalDAV协议的iCloud日历服务开发了一个客户端。我使用caldav4j库来实现Java,但是遇到的问题是与语言/库无关的。
几天前,在我的客户机中创建新日历停止工作。现在,我明白了
412 Precondition Failed
向iCloud发送MKCALENDAR请求时的状态代码。其他操作,如获取日历资源列表、获取事件、创建和更新事件的工作方式与以前相同。
我还尝试了卷曲它,并使用邮递员发送类似的请求和结果总是相同的-412先决条件失败。
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和授权令牌。
有人知道苹果最近有没有什么变化吗?我确信我的代码和请求中没有任何更改,就像上面例子中的请求几天前成功地工作了。