Exchange server 用于区分FolderId'的GetUserConfiguration的可用UserConfigurationName名称;日历';?

Exchange server 用于区分FolderId'的GetUserConfiguration的可用UserConfigurationName名称;日历';?,exchange-server,exchangewebservices,Exchange Server,Exchangewebservices,Exchange Web服务有一个方法,该方法需要UserConfigurationName来确定要为文件夹检索哪些设置 有哪些用户名可用?(特别是针对DifferentizedFolderId“calendar”,但更广泛的列表当然可以) 在遥远的过去,我设法找到了4个,但我不知道我从哪里得到的,如果这是全部名单。这可能也取决于Exchange版本(这4个版本在2010年下工作) 在一个示例SOAP调用中,我提出了四个: <soap:Body> <mes:GetUserC

Exchange Web服务有一个方法,该方法需要UserConfigurationName来确定要为文件夹检索哪些设置

有哪些用户名可用?(特别是针对DifferentizedFolderId“calendar”,但更广泛的列表当然可以)

在遥远的过去,我设法找到了4个,但我不知道我从哪里得到的,如果这是全部名单。这可能也取决于Exchange版本(这4个版本在2010年下工作)

在一个示例SOAP调用中,我提出了四个:

<soap:Body>
  <mes:GetUserConfiguration>
    <mes:UserConfigurationName Name="CategoryList">          // Alternative 1
    <mes:UserConfigurationName Name="Calendar">              // Alternative 2
    <mes:UserConfigurationName Name="WorkHours">             // Alternative 3
    <mes:UserConfigurationName Name="AvailabilityOptions">   // Alternative 4 
      <typ:DistinguishedFolderId Id="calendar"/>
    </mes:UserConfigurationName>
    <mes:UserConfigurationProperties>All</mes:UserConfigurationProperties>
  </mes:GetUserConfiguration>
</soap:Body>

//备选案文1
//备选案文2
//备选案文3
//备选案文4
全部的

您需要使用相关的遍历选项(2010+中提供)执行FindItem调用。这将查找与默认日历文件夹关联的所有用户配置对象(也称为文件夹关联项)。您希望请求ItemClass,因为我认为它包含EWS用于访问用户配置对象的配置名称。根据创建用户配置对象的内容,您可能需要从ItemClass中解析出用户配置名称

<?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"
               xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2013" />
    <t:MailboxCulture>en-US</t:MailboxCulture>
  </soap:Header>
  <soap:Body>
    <m:FindItem Traversal="Associated">
      <m:ItemShape>
        <t:BaseShape>IdOnly</t:BaseShape>
        <t:AdditionalProperties>
          <t:FieldURI FieldURI="item:ItemClass"/>
        </t:AdditionalProperties>
      </m:ItemShape>
      <m:IndexedPageItemView BasePoint="Beginning" MaxEntriesReturned="100" Offset="0"/>
      <m:ParentFolderIds>
        <t:DistinguishedFolderId Id="calendar"/>
      </m:ParentFolderIds>
    </m:FindItem>
  </soap:Body>
</soap:Envelope>

恩美
我只
您可以在以下响应中看到您知道的用户配置对象(即CategoryList、WorkHours等)与ItemClass之间的关系:

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>
    <h:ServerVersionInfo MajorVersion="15" />
  </s:Header>
  <s:Body>
    <m:FindItemResponse>
      <m:ResponseMessages>
        <m:FindItemResponseMessage ResponseClass="Success">
          <m:ResponseCode>NoError</m:ResponseCode>
          <m:RootFolder IndexedPagingOffset="9" TotalItemsInView="9" IncludesLastItemInRange="true">
            <t:Items>
              <t:Message>
                <t:ItemId Id="AEz=" ChangeKey="CQ"/>
                <t:ItemClass>IPM.Configuration.HomeTimeZone</t:ItemClass>
              </t:Message>
              <t:Message>
                <t:ItemId Id="Az=" ChangeKey="CQ"/>
                <t:ItemClass>IPM.Configuration.AvailabilityOptions</t:ItemClass>
              </t:Message>
              <t:Message>
                <t:ItemId Id="AMz=" ChangeKey="CQ"/>
                <t:ItemClass>IPC.MS.Outlook.AgingProperties</t:ItemClass>
              </t:Message>
              <t:CalendarItem>
                <t:ItemId Id="ADEz=" ChangeKey="CQ"/>
                <t:ItemClass>IPM.Appointment</t:ItemClass>
              </t:CalendarItem>
              <t:Message>
                <t:ItemId Id="ADEz=" ChangeKey="CQ"/>
                <t:ItemClass>IPM.Configuration.CategoryList</t:ItemClass>
              </t:Message>
              <t:Message>
                <t:ItemId Id="ADEz=" ChangeKey="CQ"/>
                <t:ItemClass>IPM.Configuration.WorkHours</t:ItemClass>
              </t:Message>
              <t:Message>
                <t:ItemId Id="ADEz=" ChangeKey="CQ"/>
                <t:ItemClass>IPM.Configuration.Calendar</t:ItemClass>
              </t:Message>
              <t:Message>
                <t:ItemId Id="ADEz=" ChangeKey="CQ"/>
                <t:ItemClass>IPM.Microsoft.FolderDesign.NamedView</t:ItemClass>
              </t:Message>
            </t:Items>
          </m:RootFolder>
        </m:FindItemResponseMessage>
      </m:ResponseMessages>
    </m:FindItemResponse>
  </s:Body>
</s:Envelope>

无误
IPM.Configuration.HomeTimeZone
IPM.Configuration.Availability选项
IPC.MS.Outlook.AgingProperties
IPM.任命
IPM.Configuration.CategoryList
IPM.Configuration.WorkHours
IPM.Configuration.Calendar
IPM.Microsoft.FolderDesign.NamedView

谢谢。我得到了区分文件夹ID“Calendar”的IPM.Configuration.Calendar、IPM.Configuration.CategoryList和IPM.Configuration.WorkHours;和IPM.Configuration.TargetFolderMRU、IPM.Configuration.OWA.ViewStateConfiguration和IPM.Configuration.OWA.UserOptions用于区分FolderId“root”。这东西太复杂了;-)