代码之家  ›  专栏  ›  技术社区  ›  Bartek Małachowski

iClouds的CalDAV客户端:MKCALEDAR请求停止工作并失败,412个前置条件失败

  •  0
  • Bartek Małachowski  · 技术社区  · 6 年前

    我为使用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和授权令牌。

    有人知道苹果最近有没有什么变化吗?我确信我的代码和请求中没有任何更改,就像上面例子中的请求几天前成功地工作了。

    0 回复  |  直到 6 年前