我向原始SOAP
请求Office365并尝试获取指定的联系人列表AddressListId
我成功获取联系人列表,但它不包括所有我需要的附加信息。一旦我添加了一些附加属性(例如PhoneNumber)到我的请求,服务器返回Invalid shape
错误。Exchange Web Services - 在调用“FindPeople”方法时无法获得其他属性
这里是我的要求:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope 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>IdOnly</t:BaseShape>
<t:AdditionalProperties>
<t:FieldURI FieldURI="persona:DisplayName"/>
<t:FieldURI FieldURI="persona:PhoneNumber"/>
</t:AdditionalProperties>
</m:PersonaShape>
<m:IndexedPageItemView BasePoint="Beginning" MaxEntriesReturned="100" Offset="0"/>
<m:ParentFolderId>
<t:AddressListId Id="###-####-####-####"/>
</m:ParentFolderId>
</m:FindPeople>
</soap:Body>
</soap:Envelope>
我如何获得每个角色的所有其他信息?
我不想做两个请求。我们有一个很大的组织,并且需要花费很多时间来遍历每个角色。根据微软文档,这个调用应该是可行的,但它不会,所以我想知道我在做什么错误 – Oleg 2014-10-07 07:57:15
我不了解你,只是最好的猜测,但我没有做错任何事 - 它很显然无法从FindAppointments获取Organizer或RequiredAttendees。但我的猜测是类似的限制也适用于FindPeople。顺便说一句,MS有论坛,您可以在这些深入的问题中得到更好的答案,当他们的官方文档看起来错误或不完整时。 – Alexander 2014-10-07 08:11:32