0

我正在将 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/我还不能创建一个新标签,因为声誉的原因

4

1 回答 1

1

您缺少 ACL 插件。CardDAV 需要它!

于 2013-03-27T11:00:20.557 回答