如何从Exchange Server 2010中恢复一个用户的所有联系人,使用https://github.com/jamesiarmes/php-ews API将响应限制为1000?我尝试过分页,但我需要一些示例代码才能使其正常工作。
答案 0 :(得分:1)
我无法为您提供一个示例库(我使用自己的分叉,Garethp/php-ews
)我建议您查看(它的PSR-2和PSR-4兼容)实际更新和维护),但它们基本上都有相同的方法:帮助您编写发送到服务器的XML。因此,如果您想要一个示例,您可以查看MSDN页面并尝试复制它们作为PHP对象的XML。这是您要发送的内容
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:RequestServerVersion Version="Exchange2010" />
</soap:Header>
<soap:Body>
<m:FindItem Traversal="Shallow">
<m:ItemShape>
<t:BaseShape>AllProperties</t:BaseShape>
</m:ItemShape>
<m:IndexedPageItemView MaxEntriesReturned="3" Offset="5" BasePoint="Beginning" />
<m:SortOrder>
<t:FieldOrder Order="Ascending">
<t:FieldURI FieldURI="contacts:DisplayName" />
</t:FieldOrder>
</m:SortOrder>
<m:ParentFolderIds>
<t:DistinguishedFolderId Id="contacts" />
</m:ParentFolderIds>
</m:FindItem>
</soap:Body>
</soap:Envelope>
请注意<m:IndexedPageItemView MaxEntriesReturned="3" Offset="5" BasePoint="Beginning" />
,这就是您在结果列表中查找下一页的方式
答案 1 :(得分:0)
您是否尝试使用不同的字母作为缩写?我想到了这样的事情:
$request->ContactsView->InitialName = 'A';
$request->ContactsView->FinalName = 'B';
如果您有超过1,000个以字母A开头的联系人,那么这可能不会起作用。