Pergunta

Até agora, eu usei Google Calender e fazer o meu pessoal de backup diário wget do public ".ics"O Link.

Agora quero mudar para um novo Serviço, que tem apenas caldavde acesso.

Há uma possibilidade de fazer download de todos os meus caldav e carddav de dados com um wget / curl?

Este dados baixados, devem dar-me a possibilidade de fazer o backup de dados perdidos.

Obrigado antecipadamente.

editar

Eu criei um simples arquivo php que funciona na forma como hmh explicou.Não sei se essa forma funciona de fornecedores diferentes, mas para mailbox.org, ele funciona bem.

Você pode encontrá-lo aqui https://gist.github.com/ahemwe/a2eaae4d56ac85969cf2.

Foi útil?

Solução

Por favor, seja mais específico, que é o novo serviço/servidor que você está usando?

Este não é especificamente o CalDAV, mas a maioria DAV servidores ainda fornecem uma maneira de pegar todos os eventos/todos usando uma única OBTER.Geralmente por segmentação relevante coleção com um GET, por exemplo,como um destes:

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

Em CalDAV/CardDAV você pode pegar todo o conteúdo de uma coleção usando um 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/

Substitua-calendário de dados com

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

para CardDAV.

Isto dará a você uma entidade XML que tem o iCal/vCard conteúdo incorporado.Para restaurá-lo, seria necessário analisar o XML e extrair os dados (não é difícil).

Nota:Apesar de simples padrão, alguns servidores de rejeitar ou simplesmente omitir o conteúdo (lame!arquivo de relatórios de bugs ;-).

Outras dicas

Especificamente para as pessoas que usam Baïkal (>= 0.3.3;outros Sabre/dav-soluções de base será semelhante), você pode ir diretamente para

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

em um navegador, e ter uma interface html que permite que você baixe arquivos ics, e por isso também permite que você a encontrar os links para aqueles para uso com o curl/wget.

Eu tentei o aceite uma resposta que não funciona para mim.Com o meu calendário CalDAV provedor posso, no entanto, recuperar todos os arquivos de calendário usando

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

onde [myuser] e [mypassword] o que você espera e [url] é a mesma URL que você digitar em seu regular CalDAV software (conforme especificado pelo seu provedor).

O comando cria um diretório contendo todos os ICS-arquivos que representam os itens de calendário.Um comando semelhante funciona para o meu livro de endereços.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top