0

OK、Google CardDAV インターフェイスに対して非常に単純なクエリを実行しようとしています。有効な OAuth キーと有効なメール アドレスを持っています。カールを使用して、これを試みます:

curl --request REPORT  \
     --header "Content-Type: text/xml" \
     --header "Depth: 1" \
     --header "Authorization: Bearer <OAuth Key Here>" \
     --data-ascii "<?xml version=\"1.0\" encoding=\"utf-8\"?> \
                  <D:addressbook-query xmlns:card="urn:ietf:params:xml:ns:carddav"
                     xmlns:cs="http://calendarserver.org/ns/" xmlns:D="DAV:"
                     xmlns:ical="http://apple.com/ns/ical/"> \
                    <card:allprop/> \
                  </D:addressbook-query>" \
https://www.googleapis.com/carddav/v1/principals/<Email Address Here>/lists/default

XML を検証しましたが、Google からの応答は次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<d:error xmlns:d="DAV:"/>

何が間違っていたのか分かれば助かります。助言がありますか?

4

1 に答える 1

0

addressbook-query の名前空間は、DAV ではなく card である必要があり、allprop は DAV である必要があります。また、Google CardDav にはフィルターが必要ですが、空の基準を含めることができ、すべての要素が返されることもわかりました。下記参照:

<?xml version="1.0" encoding="utf-8" ?>
<C:addressbook-query xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:carddav">
<D:allprop>
    <D:getetag />
    <C:address-data content-type="application/vcard+xml" version="4.0"/>
</D:allprop>
<C:filter>
    <C:prop-filter name="FN">
    </C:prop-filter>    
</C:filter>
</C:addressbook-query>
于 2015-04-16T19:40:45.853 に答える