8

今まで、私は毎日のリンクを使用Google Calenderして個人的なバックアップを行っていました。wgetpublic ".ics"

ここで、アクセス権のみを持つ新しいサービスに切り替えたいと考えていcaldavます。

caldavすべてのデータとcarddavデータを 1 つのwget/でダウンロードする可能性はありcurlますか?

このダウンロードされたデータにより、失われたデータをバックアップすることができます。

前もって感謝します。

編集

hmhが説明した方法で機能する非常に単純なphpファイルを作成しました。この方法がさまざまなプロバイダーで機能するかどうかはわかりませんが、mailbox.org ではうまく機能します。

https://gist.github.com/ahemwe/a2eaae4d56ac85969cf2で見つけることができます。

4

3 に答える 3

17

より具体的に、使用している新しいサービス/サーバーは何ですか?

これは特に CalDAV ではありませんが、ほとんどの DAV サーバーは、単一の GET を使用してすべてのイベント/todo を取得する方法を提供しています。通常、関連するコレクションを GET でターゲットにします。たとえば、次のいずれかのようになります。

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

CalDAV/CardDAV では、PROPFIND を使用してコレクションの内容全体を取得できます。

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/

calendar-data を次のように置き換えます

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

カードDAV用。

これにより、iCal/vCard コンテンツが埋め込まれた XML エンティティが得られます。それを復元するには、XML を解析してデータを抽出する必要があります (難しいことではありません)。

注: 単純な標準ですが、一部のサーバーはそれを拒否したり、コンテンツを省略したりします (不自由! ファイルのバグレポート ;-)。

于 2014-04-15T20:17:52.567 に答える
0

Specifically for people using Baïkal (>= 0.3.3; other Sabre/dav-based solutions will be similar), you can go directly to

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

in a browser and get an html interface that allows you to download ics files, and so also allows you to find the right links for those for use with curl/wget.

于 2016-06-06T09:07:48.530 に答える