我一直在尝试接收与我的苹果Id相关的iCloud联系人,但由于某种原因,它不起作用。我收到一个(404) Not Found错误。
我知道iCloud使用CardDAV,你需要一个特定的网址才能访问你的联系人。
对于CardDAV客户端,我使用了以下内容:https://github.com/Metric/CardDavNet作为服务器地址,我尝试了多个url(当然MYUSERID id是我的真实用户id):
https://p02-caldav.icloud.com/MYUSERID/carddavhome/card/ https://p02-contacts.icloud.com/MYUSERID/carddavhome/card/
我做错了什么?我是否使用了正确的服务器URL,或者是否存在其他错误?我希望有人能把我引向正确的方向。
发布于 2014-02-28 01:37:13
你提到的第二个URL看起来还不错。但是,为了可靠地获取托管您的地址簿的URL,您需要查询您的帐户主体记录的address book -home-set属性。
像这样:
PROPFIND Depth:0 /12345/principal/
<propfind xmlns="DAV:">
<prop>
<addressbook-home-set xmlns="urn:ietf:params:xml:ns:carddav"/>
</prop>
</propfind>要查找主体,您可以查询‘主体-URL’属性,例如在/上,并设置您的身份验证:
PROPFIND Depth:0 /
<propfind xmlns="DAV:">
<prop><principal-URL/></prop>
</propfind>您可能还希望使用像Charles或Fiddler这样的调试代理来确定您的.NET框架实际发送到服务器的内容。
https://stackoverflow.com/questions/17104703
复制相似问题