Невозможно создать Задачи в папке задач, используя ews в обмене онлайн - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь создать задачи, используя ews, но выдает ошибку ErrorInvalidIdMalformed.

Я уже пробовал использовать имя общеизвестных папок и идентификатор папки задачи, но не могу создать задачу

email_id = "xyz@pqr.onmicrosoft.com"
folder_id = "tasks"
# or folder_id="id of some task folder"

RestoreTASK = b'''<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
    xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Header>
    <t:RequestServerVersion Version="Exchange2007_SP1" />
    <t:ExchangeImpersonation>
      <t:ConnectingSID>
        %s
      </t:ConnectingSID>
    </t:ExchangeImpersonation>
</soap:Header>
<soap:Body>
<CreateItem
    xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
    MessageDisposition="SaveOnly">
    <SavedItemFolderId>
        <t:FolderId Id="%s"/>
    </SavedItemFolderId>
    <Items>
        <t:Task>
            <t:Subject>My task EWS</t:Subject>
            <t:DueDate>2006-10-26T21:32:52</t:DueDate>
            <t:Status>NotStarted</t:Status>
        </t:Task>
    </Items>
  </CreateItem>
</soap:Body>
</soap:Envelope>''' % (email_id, folder_id)

ews_api_url = 'https://outlook.office365.com/EWS/Exchange.asmx'
response = requests.post(url=ews_api_url, headers = headers, 

data = RestoreTASK)

Так что мне нужно внести изменения в мой запрос на мыло, потому что идентификатор папки, который я указываю вручную, верен.Пожалуйста, помогите.

1 Ответ

0 голосов
/ 13 февраля 2019

Ошибка говорит вам, что папка неверна, так как вы узнаете, что она правильная?Как вы получили FolderId в первую очередь?например, простой тест вашего XML с DistinguishedFolderId отлично работает

<soap:Envelope 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
    xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Header>
    <t:RequestServerVersion Version="Exchange2007_SP1" />
 </soap:Header>
<soap:Body>
<CreateItem
    xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
    MessageDisposition="SaveOnly">
    <SavedItemFolderId>
        <t:DistinguishedFolderId Id="tasks"/>
    </SavedItemFolderId>
    <Items>
        <t:Task>
            <t:Subject>My task EWS</t:Subject>
            <t:DueDate>2006-10-26T21:32:52</t:DueDate>
            <t:Status>NotStarted</t:Status>
        </t:Task>
    </Items>
  </CreateItem>
</soap:Body>
</soap:Envelope>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...