在EWS中给出Attendee
,如何确定该与会者是一个房间还是一个资源,而不是一个人?
答案 0 :(得分:0)
第一件事就是检查参加者是否在资源强类型属性https://msdn.microsoft.com/en-us/library/exchangewebservices.calendaritemtype.resources(v=exchg.80).aspx中,如果您使用EWS获取日历项目,那么将返回客房和资源与必需和可选参加者的对比。
如果参加者在全局地址列表中并且您有2013年或更高版本,那么您也可以使用FindPeople并检查返回的PersonaType,例如
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope
xmlns="http://schemas.microsoft.com/exchange/services/2006/types"
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" />
</soap:Header>
<soap:Body >
<m:FindPeople>
<m:PersonaShape>
<t:BaseShape>Default</t:BaseShape>
</m:PersonaShape>
<m:IndexedPageItemView BasePoint="Beginning" MaxEntriesReturned="100" Offset="0"/>
<m:ParentFolderId>
<t:DistinguishedFolderId Id="directory"/>
</m:ParentFolderId>
<m:QueryString>Adams@ddddd.onmicrosoft.com</m:QueryString>
</m:FindPeople>
</soap:Body>
</soap:Envelope>
&#13;
应该为房间返回类似下面的内容
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="15" MinorVersion="1" MajorBuildNumber="629" MinorBuildNumber="8" Version="V2016_07_13" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
</s:Header>
<s:Body>
<FindPeopleResponse ResponseClass="Success" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ResponseCode>NoError</ResponseCode>
<People>
<Persona xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
<PersonaId Id="AAUQAGDlxBsmUDpClBbAI1WX04o=" />
<PersonaType>Room</PersonaType>
<CreationTime>0001-01-02T00:00:00Z</CreationTime>
<DisplayName>Conf Room Adams</DisplayName>
<DisplayNameFirstLast>Conf Room Adams</DisplayNameFirstLast>
<DisplayNameLastFirst>Conf Room Adams</DisplayNameLastFirst>
<FileAs />
<EmailAddress>
<Name>Conf Room Adams</Name>
<EmailAddress>Adams@dddddd.onmicrosoft.com</EmailAddress>
<RoutingType>SMTP</RoutingType>
<MailboxType>Mailbox</MailboxType>
</EmailAddress>
<EmailAddresses>
<Address>
<Name>Conf Room Adams</Name>
<EmailAddress>Adams@dddddd.onmicrosoft.com</EmailAddress>
<RoutingType>SMTP</RoutingType>
<MailboxType>Mailbox</MailboxType>
</Address>
</EmailAddresses>
<RelevanceScore>2147483647</RelevanceScore>
</Persona>
</People>
<TotalNumberOfPeopleInView>0</TotalNumberOfPeopleInView>
<FirstMatchingRowIndex>0</FirstMatchingRowIndex>
<FirstLoadedRowIndex>0</FirstLoadedRowIndex>
</FindPeopleResponse>
</s:Body>
</s:Envelope>
&#13;