CardDAV-PHP icon indicating copy to clipboard operation
CardDAV-PHP copied to clipboard

Compatible with zimbra contacts?

Open MACscr opened this issue 13 years ago • 9 comments

require_once('carddav.php');

$carddav = new carddav_backend('https://domain.com/dav/[email protected]/contacts/');
$carddav->set_auth('[email protected]', 'test1233');
var_dump($carddav->check_connection());

been trying to connect to my zimbra 7.13 zimbra server, but only getting false back. Havent gotten any errors or debug information at all. Any ideas?

MACscr avatar Feb 11 '12 08:02 MACscr

Ah, so i wasnt thinking, the user/pass i was sharing with was an external user that obviously wouldnt have edit abilities, etc. So anyway, i switched it to an internal user and now i get true for connection, but when i try to do a var dump on the $carddav->get(), I only get a response of:

string(51) "<?xml version="1.0" encoding="UTF-8"?>
<response/>
"

MACscr avatar Feb 11 '12 09:02 MACscr

Ok, so i updated things to var_dump($carddav->get(true,true)); and I get the following response when viewing the page source:

<D:multistatus xmlns:D="DAV:"> <D:response> <D:href>/dav/[email protected]/contacts/</D:href> <D:propstat> <D:status>HTTP/1.1 200 OK</D:status> <D:prop> <D:supported-report-set> <D:supported-report> <D:report> <C:addressbook-multiget xmlns:C="urn:ietf:params:xml:ns:carddav"/> </D:report> </D:supported-report> <D:supported-report> <D:report> <C:addressbook-query xmlns:C="urn:ietf:params:xml:ns:carddav"/> </D:report> </D:supported-report> <D:supported-report> <D:report> <D:acl-principal-prop-set/> </D:report> </D:supported-report> <D:supported-report> <D:report> <D:principal-match/> </D:report> </D:supported-report> <D:supported-report> <D:report> <D:principal-property-search/> </D:report> </D:supported-report> <D:supported-report> <D:report> <D:principal-search-property-set/> </D:report> </D:supported-report> <D:supported-report> <D:report> <D:expand-property/> </D:report> </D:supported-report> </D:supported-report-set> <CS:getctag xmlns:CS="http://calendarserver.org/ns/">248163-248155</CS:getctag> <D:resourcetype> <D:collection/> <C:addressbook xmlns:C="urn:ietf:params:xml:ns:carddav"/> </D:resourcetype> <D:getcontentlength>0</D:getcontentlength> <D:getlastmodified>Sat, 11 Feb 2012 03:25:51 -0600 (CST)</D:getlastmodified> <C:addressbook-description xmlns:C="urn:ietf:params:xml:ns:carddav" xml:lang="en_US">Joe Blow's Contacts</C:addressbook-description> <D:displayname>Contacts</D:displayname> <D:getetag>"248163-1"</D:getetag> <D:creationdate>2010-06-23T02:03:51-05:00</D:creationdate> </D:prop> </D:propstat> </D:response> </D:multistatus>

But obviously thats not that useful (unless im missing something) as I need to get a list of contacts or vcard id's or somethign like that, right? I apologize if Im missing something obvious.

MACscr avatar Feb 11 '12 10:02 MACscr

I've never tested a Zimbra-Server. It would be great if you can provide and send me a test-account for some days of testing to [email protected].

Nevertheless it seems that the URL ist not complete. I think the URL have to look like that: https://domain.com/dav/[email protected]/contacts/{resource|principal|username}/{collection}/

christian-putzke avatar Feb 12 '12 10:02 christian-putzke

Forgot my first comment, your URL should be correct. I've created a 14 day test account ont the official zimbra website and tested a few hours but I didn't get any useful result :( Then I've tried to sync the contacts with this Android Plugin (http://dmfs.org/carddav/) but it didn't work as well. I'm not sure wehre the error is but I'll let you know if I find something interesting.

christian-putzke avatar Feb 12 '12 17:02 christian-putzke

It works with the apple address book for osx and iphone if that means anything.

Christian Putzke [email protected] wrote:

Forgot my first comment, your URL should be correct. I've created a 14 day test account ont the official zimbra website and tested a few hours but I didn't get any useful result :( Then I've tried to sync the contacts with this Android Plugin (http://dmfs.org/carddav/) but it didn't work as well. I'm not sure wehre the error is but I'll let you know if I find something interesting.


Reply to this email directly or view it on GitHub: https://github.com/graviox/CardDAV-PHP/issues/3#issuecomment-3929423

Sent from my Android phone with K-9 Mail. Please excuse my brevity.

MACscr avatar Feb 12 '12 20:02 MACscr

I just came across the same problem. I've checked the Zimbra response and it seems that the server isn't able to handle the PROPFIND method. It answers with a 501, at least here. Changing or removing the method makes the server return some CSV Data. Well this is not what carddav was made for.

imagetag avatar Feb 18 '12 13:02 imagetag

Forget my first comment, too :) The guys gave me the wrong uri. I'll keep u informed.

imagetag avatar Feb 19 '12 12:02 imagetag

Thanks for your comments. It seems that Zimbra does have a different xml query handling like other CardDAV-Servers but I'm not sure how to figure out what exactly is different. I'll let you know if I find something interesting.

christian-putzke avatar Feb 19 '12 12:02 christian-putzke

hi, i'm encountering same problem and same diagnostic as imagetag: reading a vcard works find but i can't write or delete, having error 401. So I tried something else: import a vcard (file.vcf) with curl via URL https://server.com/service/home/username/contacts?fmt=vcf, it did work but it's just an importation feature, not synchronization. If i import several times the same file.vcf, it just creates several contacts. did you manage to figure out what's wrong with authentication ? i'll let you know if i can get it work someday...

anybug avatar Jan 02 '13 10:01 anybug