我正在将 sabredav 集成到我的 web 应用程序中,我的应用程序 -> sabredab 之间的连接似乎很好。使用浏览器,我可以获得所需的所有电子名片。
当我使用 url 在 Android 上
example.org/sabredavcontroller/index/addressbooks/principalID/addressbookID
它完美同步
但是在 ios (6) 上,它位于 example.org/.well-known/carddav
我已将其重定向到 example.org/sabredavcontroller/index/ 但随后它什么也不做,并尝试其他也不起作用的 url 并出错。
这是 ios 尝试为 carddav 设置帐户时的访问日志:
projectnexys.com:80 192.168.125.24 - - [22/Mar/2013:10:41:58 +0100] "PROPFIND /.well-known/carddav HTTP/1.1" 302 574 "-" "iOS/6.1.2 (10B146) Preferences/1.0"
projectnexys.com:80 192.168.125.24 - - [22/Mar/2013:10:41:59 +0100] "PROPFIND /sabredavcontroller/index/ HTTP/1.1" 401 985 "-" "iOS/6.1.2 (10B146) Preferences/1.0"
projectnexys.com:80 192.168.125.24 - member2@bla.bla [22/Mar/2013:10:41:59 +0100] "PROPFIND /sabredavcontroller/index/ HTTP/1.1" 207 1423 "-" "iOS/6.1.2 (10B146) Preferences/1.0"
projectnexys.com:80 192.168.125.24 - - [22/Mar/2013:10:42:00 +0100] "PROPFIND / HTTP/1.1" 302 818 "-" "iOS/6.1.2 (10B146) Preferences/1.0"
projectnexys.com:80 192.168.125.24 - - [22/Mar/2013:10:42:01 +0100] "PROPFIND /account HTTP/1.1" 200 2107 "-" "iOS/6.1.2 (10B146) Preferences/1.0"
projectnexys.com:80 192.168.125.24 - - [22/Mar/2013:10:42:01 +0100] "PROPFIND /principals/ HTTP/1.1" 404 890 "-" "iOS/6.1.2 (10B146) Preferences/1.0"
(澄清一下:第一行是通过重定向找出 sabredav 的根:301 第二行是对根的请求,但它需要用户名/密码 第三行与第二行相同,但需要身份验证,然后放弃此网址并尝试其他选项)
第三行的结果是,将 curl 与以下命令一起使用:
curl --header "Content-Type: text/xml" -u "member2@bla.bla:bla" --request PROPFIND projectnexys.com/sabredavcontroller/index/ | xmllint --format -
-
<?xml version="1.0" encoding="utf-8"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:card="urn:ietf:params:xml:ns:carddav">
<d:response>
<d:href>/sabredavcontroller/index/</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Fri, 22 Mar 2013 09:36:52 GMT</d:getlastmodified>
<d:resourcetype>
<d:collection/>
</d:resourcetype>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/sabredavcontroller/index/principals/</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Fri, 22 Mar 2013 09:36:52 GMT</d:getlastmodified>
<d:resourcetype>
<d:collection/>
</d:resourcetype>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/sabredavcontroller/index/addressbooks/</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Fri, 22 Mar 2013 09:36:52 GMT</d:getlastmodified>
<d:resourcetype>
<d:collection/>
</d:resourcetype>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
</d:multistatus>
谁能给我一些可能出错的提示?
附言。我正在使用 SabreDAV http://sabre.io/我还不能创建一个新标签,因为声誉的原因