Frage

Bis jetzt habe ich verwendet Google Calender und mache mein persönliches Backup täglich wget des public ".ics"Verknüpfung.

Jetzt möchte ich zu einem neuen Dienst wechseln, der nur hat caldavZugang.

Gibt es eine Möglichkeit, alle meine herunterzuladen? caldav Und carddav Daten mit einem wget / curl?

Diese heruntergeladenen Daten sollten mir die Möglichkeit geben, verlorene Daten zu sichern.

Dank im Voraus.

bearbeiten

Ich habe eine sehr einfache PHP-Datei erstellt, die so funktioniert, wie hmh es erklärt hat.Ich weiß nicht, ob dieser Weg bei verschiedenen Anbietern funktioniert, aber bei mailbox.org funktioniert er gut.

Sie können es hier finden https://gist.github.com/ahemwe/a2eaae4d56ac85969cf2.

War es hilfreich?

Lösung

Bitte machen Sie genauere Angaben. Welchen neuen Dienst/Server verwenden Sie?

Dabei handelt es sich nicht speziell um CalDAV, aber die meisten DAV-Server bieten dennoch eine Möglichkeit, alle Ereignisse/Todos mit einem einzigen GET abzurufen.Normalerweise indem man mit einem GET auf die relevante Sammlung abzielt, z.B.wie eines davon:

curl -X GET -u login -H "Accept: text/calendar" https://myserver/joe/home/
curl -X GET -u login -H "Accept: text/calendar" https://myserver/joe/home.ics

In CalDAV/CardDAV können Sie mit einem PROPFIND den gesamten Inhalt einer Sammlung abrufen:

curl -X PROPFIND -u login -H "Content-Type: text/xml" -H "Depth: 1" \
  --data "<propfind xmlns='DAV:'><prop><calendar-data xmlns='urn:ietf:params:xml:ns:caldav'/></prop></propfind>" \
  https://myserver/joe/home/

Ersetzen Sie Calendar-Data durch

<address-data xmlns="urn:ietf:params:xml:ns:carddav"/>

für CardDAV.

Dadurch erhalten Sie eine XML-Entität, in die die iCal-/vCard-Inhalte eingebettet sind.Um es wiederherzustellen, müssten Sie das XML analysieren und die Daten extrahieren (nicht schwer).

Notiz:Obwohl dies schlichter Standard ist, lehnen einige Server dies ab oder lassen den Inhalt einfach weg (lahm!Dateifehlerberichte ;-).

Andere Tipps

Speziell für Menschen, die es verwenden Baikal (>= 0,3,3;Andere Sabre/Dav-basierte Lösungen werden ähnlich sein), können Sie direkt zu gehen

https://<Baïkal location>/html/dav.php/

in einem Browser und erhalten Sie eine HTML-Schnittstelle, mit der Sie ICS-Dateien herunterladen und so auch die richtigen Links für die Verwendung mit Curl/Wget finden können.

Ich habe die akzeptierte Antwort ausprobiert, die bei mir nicht funktioniert hat.Mit meinem CalDAV-Kalenderanbieter kann ich allerdings alle Kalenderdateien abrufen

wget -c -r -l 1 -nc --user='[myuser]' --password='[mypassword]' --accept=ics '[url]'

Wo [myuser] Und [mypassword] sind, was Sie erwarten und [url] ist dieselbe URL wie die, die Sie in Ihrer regulären CalDAV-Software eingeben (wie von Ihrem Anbieter angegeben).

Der Befehl erstellt ein Verzeichnis, das alle ICS-Dateien enthält, die die Kalenderelemente darstellen.Ein ähnlicher Befehl funktioniert für mein Adressbuch.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top