我正在尝试通过谷歌的 CardDAV API 从谷歌联系人中检索所有联系人。
根据CardDAV Developer's Guide,这应该通过发送一个addressbook-multiget REPORT
. 根据RFC 6352,应该如下所示:
REPORT https://www.googleapis.com/carddav/v1/principals/foo@gmail.com/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 访问令牌的 Authorization 标头和设置为 1 的 Depth 标头,并且我https://www.googleapis.com/carddav/v1/principals/foo@gmail.com/lists/default
通过 HTTPS 将其发送到。而且我确实可以访问开发者控制台中授予的 CardDAV API。
有没有人得到这个工作和/或知道我应该做些什么不同的事情?