2016-06-06 6 views
0

Ich habe eine Server-Anwendung mit Django geschrieben, die eine Kontaktdatenbank hat.Python - Django - cardav - So implementieren Sie einen Server

Ich möchte einen cardav webservice hinzufügen, um meine Kontakte auf meinem Handy zu teilen. Ich habe viele Suchen gemacht, aber ich bin völlig verloren.

Ich fand einige Server als Radical, einige API, die Dateien verwendet ... aber nichts hilft mir.

Ich muss in meinem Server eine API implementieren, die zu meinem Android die Kontaktliste von meinen Datenbanken zurückbringt. Welches Ausgabeformat sollte ich verwenden?

Vielen Dank.

+0

Ich stimme mit hnh überein, Radicale ist ein guter Ausgangspunkt für CardDAV & Python. AFAIK haben sie ein modulares Backend, das auch das Laden und Speichern von Kontakten von/zu einer SQL-Datenbank unterstützt. Sie können es also einfach an Ihre Datenbank anhängen, anstatt eine neue Implementierung von Grund auf neu zu schreiben. – Marten

Antwort

2

Ihre Frage scheint ein bisschen generisch noch Liste Sie, welche Ressourcen Sie angeschaut und warum Sie verloren sind.

This presentation ist ein wenig alt, aber zeigt die Grundlagen, wie die * DAV-Protokolle funktionieren. Building a CardDAV Client ist ein weiterer guter Ausgangspunkt.

CardDAV selbst ist in RFC 6352 angegeben, und die damit verbundenen RFCs: WebDAV, WebDAV ACL, usw.

Welche Ausgabeformat soll ich verwenden?

CardDAV-Anfragen und -Antworten verwenden WebDAV, daher XML. Die tatsächliche Nutzlast ist ein vCard v3.

Wenn Sie suchen Beispielcode: Die Apple CalendarServer ist ein vollwertiges CalDAV/CardDAV-Server in Python geschrieben. Radicale ist eine andere, aber Sie haben das schon gefunden (genauer gesagt, warum das nicht hilft, Radicale sieht für mich wie ein guter Ausgangspunkt aus).

Endlich: Ich glaube nicht, dass Android CardDAV Unterstützung eingebaut hat. Vermutlich benutzen Sie ein Sync-Plugin?

0

Vielen Dank für Ihre Antworten.

Ich werde radikal aussehen und das modulare Backend, Wenn ich eine Kommunikation zwischen radikalen und meinen Datenbanken erstellen kann, wird es perfekt sein.

+0

Hast du am Ende etwas gebaut, was du vielleicht sogar teilst? – toabi

+1

Hallo, Nein, ich habe keinen Server geschrieben. Schließlich nutze ich nextcloud als Server, bevölke die nextcloud-Datenbank mit meiner Python-Anwendung. –