Клиент CalDAV для iClouds: запросы MKCALEDAR перестали работать и не выполнялись с 412 Precondition Failed - PullRequest
0 голосов
/ 18 ноября 2018

Я разработал клиент для службы календаря iCloud, который использует протокол CalDAV.Я использую библиотеку caldav4j для Java, однако проблема, с которой я столкнулся, не зависит от языка / библиотеки.Несколько дней назад перестало работать создание новых календарей в моем клиенте.Теперь я получаю код состояния 412 Precondition Failed при отправке запросов MKCALENDAR в iCloud.Другие операции, такие как получение списка ресурсов календаря, получение событий, создание и обновление событий, работают так же, как и раньше.

Я также пытался 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>

Parts с xxxxx содержит мой правильный основной идентификатор и токен авторизации.

Кто-нибудь знает, изменил ли Apple что-то там недавно?Я уверен, что ничего не изменил в своем коде, и запросы, подобные приведенному выше, успешно работали несколько дней назад.

...