是否可以通过PR_FOLDER_PATH进行SOAP搜索?对路径中带有“收件箱”的任何文件夹进行简单搜索都是空的:
<?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:t="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Header>
<RequestServerVersion Version="Exchange2013" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<FindFolder Traversal="Deep" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<FolderShape>
<t:BaseShape>Default</t:BaseShape>
<t:AdditionalProperties>
<t:FieldURI FieldURI="folder:FolderClass" />
<t:ExtendedFieldURI PropertyTag="4340" PropertyType="Boolean" />
<t:ExtendedFieldURI PropertyTag="26293" PropertyType="String" />
</t:AdditionalProperties>
</FolderShape>
<Restriction>
<t:Contains ContainmentMode="Substring" ContainmentComparison="IgnoreCase">
<t:ExtendedFieldURI PropertyTag="26293" PropertyType="String" />
<t:Constant Value="Inbox" />
</t:Contains>
</Restriction>
<ParentFolderIds>
<t:DistinguishedFolderId Id="msgfolderroot" />
</ParentFolderIds>
</FindFolder>
</soap:Body>
</soap:Envelope>
确实,PR_FOLDER_PATH似乎有点神秘。我知道它的属性标签是26293,我可以在其他搜索结果中看到文件夹路径值输出。但我似乎无法找到一种方法来获取EWS编辑器中列出的此属性的值,更不用说让它适用于搜索过滤器。什么是PID名称等价? PR_FOLDER_PATH甚至没有在MS-OXPROPS中列出!
答案 0 :(得分:1)
我很确定它是一个计算属性,并且仅在FindFolder操作中的EWS中有效,因为返回此操作的基础Exchange操作(例如,它在2013年的GetFolder操作中无效)。
实现您想要的简单方法就是在收件箱中创建FindFolder,它将为您提供Path中所有带Inbox的文件夹。对于用户创建的文件夹,您需要找到用户创建的文件夹的ID,但它的工作方式类似。
干杯 格伦