Icloud 请求CardDav服务器的限制内的匹配数

Icloud 请求CardDav服务器的限制内的匹配数,icloud,carddav,Icloud,Carddav,我最近试着从iCloud CardDav服务器上读取很多vCard。然而,我意识到我请求的第5000张vCard是有限制的 这是我的报告要求: <?xml version="1.0" encoding="utf-8" ?> <C:addressbook-query xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:carddav"> <C:filter> <C:prop-filter n

我最近试着从iCloud CardDav服务器上读取很多vCard。然而,我意识到我请求的第5000张vCard是有限制的

这是我的报告要求:

<?xml version="1.0" encoding="utf-8" ?>
   <C:addressbook-query xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:carddav">
   <C:filter>
      <C:prop-filter name="X-ADDRESSBOOKSERVER-KIND" test="anyof">
         <C:is-not-defined />
         <C:text-match collation="i;unicode-casemap" match-type="equals" negate-condition="yes">group</C:text-match>
      </C:prop-filter>
   </C:filter>
</C:addressbook-query>
以下是服务器答案的结尾:

<response>
   <href>/872816606/carddavhome/card/</href>
   <status>HTTP/1.1 507 OK</status>
   <error><number-of-matches-within-limits/></error>
</response>

/872816606/carddavhome/card/
HTTP/1.1507正常
有办法查询下一页吗


提前感谢。

CardDAV本身不提供分页机制。另一方面,WebDAV Sync()确实提供分页,尽管并非所有服务器实现都支持分页

现在,如果您理解您的查询,您几乎是在询问集合中的所有联系人,除了组。除非您有大量的组,否则您可能希望在客户端对它们进行过滤,在这种情况下,您可以使用常规的PROPFIND(或WebDAV同步报告),然后使用一系列CarDAV multiget报告,这是大多数客户端都会做的