проверка, существует ли определенная папка в почтовом ящике пользователя онлайн, используя запрос на мыло ews - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь получить папки в почтовом ящике пользователя exchange online с помощью запроса мыла ews и создаю словарь пути -> id на основе.

ex

inbox -> id1
inbox/1 -> id2
sentitems -> id3

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

Так есть ли способ напрямую проверить, существует ли какая-либо папка в почтовом ящике пользователя или нет.

Текущийзапрос мыла, который я использую сейчас ->

        <soap:Body>
        <FindFolder Traversal="Shallow" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
          <FolderShape>
            <t:BaseShape>Default</t:BaseShape>
            <t:AdditionalProperties>
                <t:FieldURI FieldURI="folder:ParentFolderId"/>
            </t:AdditionalProperties>
          </FolderShape>
          <ParentFolderIds>
            <t:DistinguishedFolderId Id="root"/>
          </ParentFolderIds>
        </FindFolder>
    </soap:Body>

Теперь он дает мне папку в корне с родительским идентификатором.затем я получаю снова, используя folderId вместо t: DistinguishedFolderId.Поэтому я могу напрямую проверить, существует ли папка внутри определенного родителя или нет, поэтому я буду создавать папку, только если она не существует, и если она существует, я буду использовать возвращенный идентификатор папки для createItem.

ЛюбойПомощь будет высоко оценена.

1 Ответ

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

Вот ссылка.По сути, вам нужно вызвать syncFolderHierarchy и установить форму для включения реквизитов, которые вы хотите вернуть.

https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-synchronize-folders-by-using-ews-in-exchange

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...