2014-09-22 31 views
0

我最近嘗試從iCloud CardDav服務器讀取大量VCards。但是,我意識到我申請的第5000張vCard有限制。請求CardDav服務器數量限制匹配

這裏是我的報告要求:

<?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> 

有沒有一種方法來查詢下一個頁面?

在此先感謝。

回答

2

CardDAV本身並不提供分頁機制。另一方面,WebDAV同步(http://tools.ietf.org/html/rfc6578)確實提供了分頁,但並非所有的服務器實現都支持分頁。

現在,如果瞭解您的查詢,您幾乎要求集合中的所有聯繫人,組除外。除非您有大量的組,否則您可能需要在客戶端進行過濾,在這種情況下,您可以使用常規PROPFIND(或WebDAV Sync REPORT),然後是一系列CarDAV multiget REPORT,這是大多數客戶端做。