I'm querying EWS with DistinguishedFolderId
set to Directory. If I add
<t:FieldURI FieldURI="persona:PhoneNumber" />
to the field URIs I don't get the phone number returned. Also if I try to expand the BaseShape to AllProperties I get a failure.
<soap:Body>
<m:FindItem Traversal="Shallow">
<m:ItemShape>
<t:BaseShape>IdOnly</t:BaseShape>
<t:AdditionalProperties>
<t:FieldURI FieldURI="persona:DisplayName" />
</t:AdditionalProperties>
</m:ItemShape>
<m:IndexedPageItemView MaxEntriesReturned="100" Offset="0" BasePoint="Beginning" />
<m:ParentFolderIds>
<t:DistinguishedFolderId Id="directory" />
</m:ParentFolderIds>
</m:FindItem>
</soap:Body>
What I'm trying to do is construct a query which will return me the person (not the contact, I need to look into the directory not the contacts) details with the phone number from the tenant.
Ok - found the answer to this one. FindPeople
and FindItems
aren't going to return the phone number by default, that's some kind of extension.
See here and here where it was partially answered on msdn forums. The solution proposal is to use the GetPersona
method and query each PersonId individually.