andig / carddav2fb

Download CardDAV VCards and upload as phonebook to AVM FRITZ!Box
63 stars 19 forks source link

400 Bad Request beim Zugriff auf Carddav-Server #217

Closed pmsh2020 closed 3 years ago

pmsh2020 commented 3 years ago

Hallo, ich nutze Ubuntu, 20.04.1 LTS, Firefox und ein Synology-NAS DS211j , DSM-Version 6.2.3-25426 Update 2 mit Carddav-Server 6.0.9.-0087. Carddav2FB neu installiert. Beim Ausführen von "./carddav2fb run" erhalte ich folgende FM:

"In RequestException.php line 111: Client error: REPORT http://192.168.178.30:8008/addressbooks/users/Martin/addressbook/ resulted in a 400 Bad Request response: Bad Request

Bad Request

CARDDAV:filter required

"

Über Firefox komme ich mit der Server-URL + #username# + #userpw# auf die vcf-Seite rauf. Die Synchronisation der Kontakte zu Evolution bzw. über DAVx5 zu Android funktioniert auch einwandfrei.

andig commented 3 years ago

Siehe https://github.com/andig/carddav2fb/issues/196, ggf ähnliche Ursache.

pmsh2020 commented 3 years ago

@Andig Danke für die Rückmeldung

blacksenator commented 3 years ago

@pmsh2020 please try it with an configuration like in this example

pmsh2020 commented 3 years ago

Hallo, Danke für den Hinweis. Habe zwischenzeitlich das NAS ausgetauscht: Synology-NAS DS220j, DSM 6.2.3-25426 Update 3 mit Carddav-Server. Carddav2FB neu installiert. In config.php 'method' => 'PROPFIND' aktiviert. Beim Ausführen von "./carddav2fb run" erhalte ich jetzt folgende FM:

Downloading recent FRITZ!Box phonebook No special attributes are saved! Downloading vCard(s) from account Martin 0 [>---------------------------]* Trying xxx.xxx.xxx.xxx:8008...

In Backend.php line 185:

String could not be parsed as XML

blacksenator commented 3 years ago

@pmsh2020 Ich weiß nicht ob Andreas eine Idee hat - ich bin ratlos.

Eine Idee: Du könntest im IP-Phone-Forum fragen , ob jemand carddav2fb auf Synology erfolgreich laufen hat, und wenn ja, welche Einstellungen etc. sie/er benutzt.

Andere Möglichkeit: Der Fehler mit Bezug auf Zeile 185 in Backend.php gleich zu Anfang lässt darauf schließen, dass das XML im $body vermutlich leer ist. Ohne Debugging auf deinem System ist das vermutlich nicht zu finden, woran es liegt. Daher könntest Du folgendes versuchen und in Zeile 182 folgendes einfügen:

file_put_contents('body_dump.txt', $response->getBody());

Anschließend nach einem erneuten run nachschauen, was in body_dump.txt im cardav2fb Ordner steht und evtl. Andreas zur Verfügung stellen.

Dritte Idee: wenn Du CardBook mit Thunderbird verwendest, könntest Du dort den, hoffentlich erfolgreichen, Verbindungsprozess aufzeichnen: dazu zuerst das vorhandene Log löschen (Extras -> Ansicht des Protokolls -> Flush), den Debug-Modus aktivieren (Extras -> Cardbook-Einstellungen -> Allgemein -> Log), dann eine Synchronisation anschubsen und anschließend das Log Andreas zur Verfügung stellen. Evtl. kann man sehen, was Cardbook anders bzw. richtig macht.

pmsh2020 commented 3 years ago

Hallo, Danke für Deine Tipps:

wenn Du CardBook mit Thunderbird verwendest, Leider nicht. Nutze Evolution. Und da funktioniert der Zugriff auf den Carddav-Server der Synology.

Im IP-Phone-Forum frage ich nach.

Auszug aus body_dump.txt:

<?xml version='1.0' encoding='UTF-8'?>

/addressbooks/users/xxxxxxx/addressbook/ "0d0a208729ea83f9b2d314876979319c" HTTP/1.1 200 OK HTTP/1.1 404 Not Found
pmsh2020 commented 3 years ago

siehe: https://www.ip-phone-forum.de/threads/carddav2fb-mit-synology.309292/#post-2414284