sabredav carddav没有在ios上工作,勇敢地研究android

时间:2013-03-22 09:50:11

标签: php ios caldav carddav sabredav

我正在将sabredav集成到我的web应用程序中,我的应用程序之间的连接 - > sabredab似乎很好。使用浏览器,我可以获得所需的所有vcards。

在Android上使用网址时

example.org/sabredavcontroller/index/addressbooks/principalID/addressbookID

它完美同步

然而,在ios(6)上,它来自example.org/.well-known/carddav

我已经重定向到example.org/sabredavcontroller/index/但是它没有对它做任何事情并尝试其他不起作用的网址和错误。

这是从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              第二行是对root的请求,但需要用户名/ pw              第三个与第二个相同但具有身份验证              然后它放弃这个网址并尝试其他选项 )

第三行的结果是,使用curl和this命令:

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/我无法创建一个新的标签但是声誉的原因

1 个答案:

答案 0 :(得分:1)

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