Ошибка в обязательных элементах XML в запросе приглашения-приглашения CalDav - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь написать сценарий автоматического принятия приглашений в общий календарь с использованием python.

Согласно RFC здесь: https://github.com/apple/ccs-calendarserver/blob/master/doc/Extensions/caldav-sharing.txt

Я создал следующий xml, который отправляю в виде запроса POST на сервер календаря:

accept_invite_xml = """
<?xml version='1.0' encoding='UTF-8'?>
<CS:invite-reply xmlns='DAV:' xmlns:CS='http://calendarserver.org/ns/'>
    <href>urn:x-uid:9DCA674E-5AD8-1992-7828-033C09954A5F</href>
    <CS:invite-accepted/>
    <CS:hosturl>/calendars/__uids__/419A2758-B533-3019-BF05-32CEFB6E79DC/calendar</CS:hosturl>
    <CS:in-reply-to>1e9a9754-f896-43cf-a848-d2f71f5eb10b</CS:in-reply-to>
    <CS:summary>calendar</CS:summary>
</CS:invite-reply>
"""

Это POST'd через пакет запросов Python:

headers = {'Content-Type': 'application/xml', 'charset':"utf-8"}
requests.post(url = my_calendar_home_url, 
                       auth = (username,password), 
                       data=accept_invite_xml, 
                       headers=headers)

Но продолжайте получать следующий ответ:

<?xml version='1.0' encoding='UTF-8'?>
<error xmlns='DAV:'>
  <valid-request xmlns='http://calendarserver.org/ns/'/>
  <error-description xmlns='http://twistedmatrix.com/xml_namespace/dav/'>Missing required XML elements</error-description>
</error>

Насколько я могу судить, в приглашении-ответе отсутствует пропущенный элемент, и предполагается, что приглашающий-ответ является корневым элементом. Я не могу получить доступ к серверу для проверки журналов и отладки на этой стороне, только на клиенте. Спасибо.

...