我試圖通過Google的CardDAV API從Google Contacts中檢索所有聯繫人。
根據CardDAV Developer's Guide,這應該通過發送addressbook-multiget REPORT
完成。其中,根據RFC 6352,應該是這樣的:Google CardDAV API地址簿 - multiget返回400錯誤請求
REPORT https://www.googleapis.com/carddav/v1/principals/[email protected]/lists/default HTTP/1.1 Authorization: Bearer ya29.foo-bar Depth: 1 Content-Type: text/xml; charset=UTF-8 Host: www.googleapis.com Content-Length: 204 <C:addressbook-multiget xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:carddav"> <D:prop> <D:getetag /> <C:address-data> <C:prop name="EMAIL"/> </C:address-data> </D:prop> </C:addressbook-multiget>
不幸的是,我經常收到(400) Bad Request
所有REPORT
請求。
我在請求中包含OAuth2訪問令牌和深度標頭設置爲1的授權標頭,並且我通過HTTPS將它發送到https://www.googleapis.com/carddav/v1/principals/[email protected]/lists/default
。而且我可以訪問Developer Console中授予的CardDAV API。
有沒有人得到這個工作和/或有我應該做的不同的線索?
沒錯!適當的 /carddav/v1/principals/[email protected]/lists/default/bar 元素,是我錯過了。謝謝。 –
jansokoly
您是否設法通過WebDAV收集同步在Google CardDAV上使用* initial * sync(即空的' '元素)? –
dkarp