2013-06-14 8 views
5

Ich habe versucht, die iCloud-Kontakte zu meiner Apple ID zu erhalten, aber aus irgendeinem Grund funktioniert es nicht. Ich bekomme einen (404) Not Found Fehler.Importieren von iCloud-Kontakten .NET (CardDAV)

Ich weiß, dass iCloud CardDAV verwendet und dass Sie eine bestimmte URL-Adresse benötigen, um auf Ihre Kontakte zuzugreifen.

Für den CardDAV-Client verwendete ich folgendes: https://github.com/Metric/CardDavNet Für die Server-Adresse ich mehrere URLs versucht (ofcourse myuserid meine reale Benutzer-ID ist):

https://p02-caldav.icloud.com/MYUSERID/carddavhome/card/ https://p02-contacts.icloud.com/MYUSERID/carddavhome/card/

Was mache ich falsch? Benutze ich die korrekten Server-URLs oder ist da noch etwas falsch? Ich hoffe, dass mich jemand in die richtige Richtung führen kann.

+0

Ich bin so neu in iCloud, ich kann nicht bekommen, was ist "MYUSERID"? ist es Appie ID? – kairen

Antwort

1

Die zweite URL, die Sie erwähnen, sieht irgendwie OK aus. Um jedoch die URL, die Ihr Adressbuch hostet, zuverlässig zu ermitteln, müssen Sie die Eigenschaft addressbook-home-set des Haupteintrags Ihres Kontos abfragen.

Like:

PROPFIND Depth:0 /12345/principal/ 
<propfind xmlns="DAV:"> 
    <prop> 
    <addressbook-home-set xmlns="urn:ietf:params:xml:ns:carddav"/> 
    </prop> 
</propfind> 

und den Haupt zu finden, die Sie abfragen, für die 'Prinzipal-URL' Eigenschaft, z.B. auf /, mit Auth-Set:

PROPFIND Depth:0/
<propfind xmlns="DAV:"> 
    <prop><principal-URL/></prop> 
</propfind> 

Sie könnten auch eine Debug-Proxy wie Charles oder Fiddler, um herauszufinden, was Ihre .NET-Framework auf dem Server tatsächlich sendet verwenden möchten.

+0

Danke für Ihre Hilfe! Der von Ihnen bereitgestellte Beispielcode ist ein SOAP-Aufruf? Warum wird XML verwendet? – Mittchel

+1

Dies ist ein WebDAV-Aufruf, und WebDAV verwendet XML für alle Metadatenvorgänge. Googeln Ich fand das, was eine gute Einführung zu sein scheint: http://www.cs.unibo.it/~fabio/webdav/WebDAV.pdf – hnh

+0

Awesome! Vielen Dank – Mittchel