为什么限制被忽略?

Why is Restriction getting ignored?

我想通过 Office JavaScript API 函数 Office.context.mailbox.makeEwsRequestAsync 使用 FindFolder EWS SOAP 服务获取给定父文件夹中具有给定名称的文件夹的 ID。指定的限制似乎被忽略了。

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope 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="Exchange2013" />
   </soap:Header>
   <soap:Body>
      <m:FindFolder Traversal="Shallow">
         <m:FolderShape>
            <t:BaseShape>IdOnly</t:BaseShape>
            <t:AdditionalProperties>
               <t:FieldURI FieldURI="folder:DisplayName" />
            </t:AdditionalProperties>
         </m:FolderShape>
         <t:Restriction>
            <t:IsEqualTo>
               <t:FieldURI FieldURI="folder:DisplayName" />
               <t:FieldURIOrConstant>
                  <t:Constant Value="xyz" />
               </t:FieldURIOrConstant>
            </t:IsEqualTo>
         </t:Restriction>
         <m:ParentFolderIds>
            <t:DistinguishedFolderId Id="root" />
         </m:ParentFolderIds>
      </m:FindFolder>
   </soap:Body>
</soap:Envelope>

请求成功,但我没有在响应中接收最多一个文件夹,而是获取了指定父文件夹中的所有文件夹。

我从具有 ReadWriteMailbox 权限的 Outlook Web 加载项调用此代码。

另请注意,在请求成功时,FindItem SOAP 服务调用中指定的限制对我也不起作用。

有人能给我指出正确的方向吗?

限制来自消息而不是类型,因此您的请求不正确(不确定为什么它不会引发错误)但是如果您使用

     <?xml version="1.0" encoding="UTF-8"?>
    <soap:Envelope 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="Exchange2013" />
    </soap:Header>
    <soap:Body>
        <m:FindFolder Traversal="Shallow">
            <m:FolderShape>
                <t:BaseShape>IdOnly</t:BaseShape>
                <t:AdditionalProperties>
                <t:FieldURI FieldURI="folder:DisplayName" />
                </t:AdditionalProperties>
            </m:FolderShape>
            <m:Restriction>
                <t:IsEqualTo>
                <t:FieldURI FieldURI="folder:DisplayName" />
                <t:FieldURIOrConstant>
                    <t:Constant Value="xyz" />
                </t:FieldURIOrConstant>
                </t:IsEqualTo>
            </m:Restriction>
            <m:ParentFolderIds>
                <t:DistinguishedFolderId Id="root" />
            </m:ParentFolderIds>
        </m:FindFolder>
    </soap:Body>
    </soap:Envelope>

应该没问题