运维开发网

备份 – 如何使用一个wget / curl下载所有我的caldav和carddav数据?

运维开发网 https://www.qedev.com 2020-07-05 10:40 出处:网络
到目前为止,我使用谷歌日历并使用公共“.ics”链接每天进行个人备份. 现在我想切换到只有caldavaccess的新服务.
到目前为止,我使用谷歌日历并使用公共“.ics”链接每天进行个人备份.

现在我想切换到只有caldavaccess的新服务.

是否有可能用一个wget / curl下载所有我的caldav和carddav数据?

这个下载的数据应该让我有可能备份丢失的数据.

提前致谢.

编辑

我创建了一个非常简单的php文件,其工作方式是hmh解释的.不知道这种方式是否适用于不同的提供商,但对于mailbox.org,它运作良好.

你可以在这里找到https://gist.github.com/ahemwe/a2eaae4d56ac85969cf2.

请具体说说,您使用的新服务/服务器是什么?

这不是专门的CalDAV,但是大多数DAV服务器仍然提供了使用单个GET获取所有事件/待办事项的方法.通常通过使用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/

用日历替换日历数据

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

对于CardDAV.

这将为您提供一个嵌入了iCal / vCard内容的XML实体.要恢复它,您需要解析XML并提取数据(不是很难).

注意:虽然标准,但有些服务器拒绝或只是省略内容(lame!file bug reports ;-).

0

精彩评论

暂无评论...
验证码 换一张
取 消