首页 > 解决方案 > 使用 ews soap 请求在线检查用户邮箱中是否存在特定文件夹

问题描述

我正在尝试使用 ews soap 请求获取文件夹以交换在线用户的邮箱,并制作一个路径字典 - > id 基础。

前任

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

使用这些 id,我可以恢复用户邮箱中的邮件。

那么有什么方法可以直接检查用户邮箱中是否存在某个文件夹。

我现在正在使用的当前肥皂请求 ->

        <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>

现在它在根目录中给我一个带有父 ID 的文件夹。然后我再次使用 folderId 而不是 t:DistinguishedFolderId 获取。所以我可以直接检查一个文件夹是否存在于特定的父级中,所以我只会在它不存在的情况下创建该文件夹,如果它存在,我将使用返回的 folderId 来创建项目。

任何帮助将不胜感激。

标签: exchangewebservices

解决方案


这是一个链接。基本上,您需要调用 syncFolderHierarchy 并设置形状以包含您想要返回的道具。

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


推荐阅读