CalDAV y CardDAV: cómo sincronizar el calendario y los contactos
Módulo 5: Agenda y contactos · Tiempo de lectura: 10 minutos
Objetivo de aprendizaje: Después de esta lección podrá explicar cómo CalDAV y CardDAV mantienen sincronizados su calendario y sus contactos entre el servidor y sus dispositivos, por qué solo lo nota cuando configura una aplicación, y qué datos necesita para vincular una aplicación.
Conceptos clave: CalDAV, CardDAV, WebDAV, sincronizar, dirección del servidor, .well-known/caldav, .well-known/carddav, principal, contraseña de aplicación, Exchange ActiveSync, calendario predeterminado
El calendario y los contactos residen en un servidor
Con Google y Microsoft no se da cuenta de cómo llega su calendario a su teléfono. Inicia sesión con su cuenta, y el calendario y los contactos ya están ahí. Detrás de escena suelen usar su propio método de sincronización: Microsoft utiliza Exchange ActiveSync y conexiones propias, Google su propia sincronización de cuenta en Android.
Con un proveedor europeo, casi siempre se hace mediante dos estándares abiertos:
- CalDAV (RFC 4791) para calendarios y listas de tareas;
- CardDAV (RFC 6352) para contactos.
Ambos se basan en WebDAV, una extensión del tráfico web normal (HTTPS) que permite leer y escribir archivos en un servidor. Para CalDAV, una cita es un pequeño archivo en formato iCalendar (lección 5.2); un contacto es un pequeño archivo en formato vCard. El servidor guarda esos archivos en una carpeta por calendario o libreta de direcciones. Su teléfono, su portátil y el calendario web preguntan cada pocos minutos: "¿qué ha cambiado desde la última vez?" y solo descargan los cambios.
iPhone <--CalDAV/HTTPS--> server: /calendars/anne/werk/ <--CalDAV--> laptop (Thunderbird)
^
|
webagenda in de browserLa gran ventaja de un estándar abierto: no está atado a una sola aplicación. La app de calendario de su iPhone, DAVx5 en Android, Thunderbird, Calendario en el Mac y muchas otras aplicaciones hablan CalDAV. Si más adelante cambia a otro proveedor que también use CalDAV, podrá configurar las mismas aplicaciones de nuevo.
Por qué no lo nota hasta que configura una aplicación
Después de trasladar su calendario (lecciones 5.2 y 5.3), todo queda ordenado en el calendario web de su nuevo servicio. Su teléfono aún no sabe nada de eso. No hay ninguna aplicación que aparezca por sí sola: debe añadir una cuenta en cada dispositivo. Para ello necesita tres cosas:
| Dato | Ejemplo en Bakkerij De Korrel |
|---|---|
| La dirección del servidor | https://cloud.example.com o la dirección DAV completa, como https://cloud.example.com/remote.php/dav |
| El nombre de usuario | anne |
| Una contraseña | una contraseña de aplicación, vea más abajo |
La dirección del servidor y .well-known
Cada servicio tiene su propia ruta donde residen CalDAV y CardDAV. En Nextcloud es /remote.php/dav; en otros servidores es distinta. Para evitar que todo el mundo tenga que conocer esa ruta, existe un acuerdo (RFC 6764): una aplicación que solo recibe el nombre de dominio mira primero en un lugar fijo:
https://cloud.example.com/.well-known/caldav
https://cloud.example.com/.well-known/carddavEl servidor responde ahí con una redirección a la ruta real. Si esa redirección funciona correctamente, en su iPhone solo tendrá que escribir cloud.example.com. Si no funciona, la aplicación dirá "no se puede verificar la cuenta" y tendrá que introducir la dirección completa. La misma RFC también describe registros SRV (_caldavs._tcp.example.com) con los que una aplicación puede encontrar el servidor a partir de su dominio de correo electrónico. No todas las aplicaciones los utilizan.
A continuación, la aplicación le pregunta al servidor por su principal: el lugar fijo de su cuenta en el servidor, con la lista de sus calendarios y libretas de direcciones. Así, la aplicación encuentra automáticamente todos los calendarios, incluidos los que se han compartido con usted.
Por qué necesita una contraseña de aplicación
La mayoría de los servicios europeos en la nube piden, al iniciar sesión en el navegador, un segundo paso: un código por correo electrónico, una aplicación de autenticación o una llave de acceso (passkey). Una aplicación de calendario en su teléfono no puede completar ese segundo paso. Solo tiene un campo para nombre de usuario y contraseña.
Por eso, para una aplicación de este tipo crea una contraseña de aplicación: una contraseña larga y aleatoria que solo es válida para esa aplicación concreta. La crea en la configuración de seguridad de su nube, le da un nombre reconocible ("Calendario iPhone Anne") y la introduce en la aplicación.
Ventajas:
- Su contraseña real no queda almacenada en su teléfono.
- Si pierde su teléfono, solo tiene que revocar esa contraseña de aplicación; el resto sigue funcionando.
- Si cambia su contraseña habitual, sus aplicaciones siguen funcionando.
Algunas aplicaciones también pueden iniciar sesión a través del navegador: abren la pantalla de inicio de sesión de su nube, usted realiza ahí el segundo paso, y la aplicación recibe automáticamente una contraseña de aplicación. DAVx5 en Android puede hacerlo, por ejemplo, con Nextcloud.
El mensaje de error más conocido en las aplicaciones de calendario es 401 Unauthorized. Casi siempre significa que ha usado su contraseña habitual en lugar de una contraseña de aplicación, o que la contraseña de aplicación ha sido revocada.
Calendarios de Exchange y qué pierde
Quien viene de Microsoft 365 está acostumbrado a algunas cosas que con CalDAV funcionan de otra manera o no funcionan:
- Ver la disponibilidad (libre/ocupado) de compañeros al planificar. Nextcloud y otros servidores CalDAV tienen su propia variante (disponibilidad dentro del mismo servidor), pero no funciona entre servicios distintos ni siempre en todas las aplicaciones.
- Reservar salas y equipos (sala de reuniones, proyector). Algunos servidores tienen calendarios de recursos, otros no.
- Acceso delegado ("la secretaria gestiona el calendario del director"). En CalDAV esto se resuelve compartiendo con permisos de edición.
Anótelo en su lista (módulo 3). Rara vez es un motivo para no cambiar, pero sus compañeros deben saberlo de antemano.
En la práctica: así se ve con un proveedor
En un Nextcloud de WebOké encontrará las direcciones en la aplicación Calendario, abajo a la izquierda en Configuración del calendario: la URL de CalDAV y la Dirección del servidor para iOS y macOS, cada una con un botón de copiar. La dirección general es https://<su-dirección>/remote.php/dav. Una contraseña de aplicación se crea en Ajustes, Seguridad, Dispositivos y sesiones. Allí verá más adelante también qué dispositivo tuvo contacto por última vez y cuándo, y podrá revocar una contraseña de aplicación. Otros proveedores de Nextcloud funcionan exactamente igual; en otros servicios europeos (por ejemplo mailbox.org, Posteo o un entorno Open-Xchange) la dirección CalDAV figura en las páginas de ayuda o en los ajustes, y las contraseñas de aplicación a veces se llaman "contraseña de dispositivo" o "contraseña de aplicación".
Resumen
- CalDAV (calendario, tareas) y CardDAV (contactos) son estándares abiertos construidos sobre WebDAV y HTTPS; cada cambio es un pequeño archivo en el servidor.
- Debe añadir usted mismo una cuenta en cada dispositivo: dirección del servidor, nombre de usuario y una contraseña de aplicación.
- Mediante
.well-known/caldavy.well-known/carddav, una aplicación encuentra la ruta real a partir únicamente del nombre de dominio; si eso no funciona, introduzca la dirección DAV completa. - Se necesita una contraseña de aplicación porque las aplicaciones de calendario no pueden realizar un segundo paso de inicio de sesión; un mensaje 401 casi siempre significa una contraseña incorrecta.
- Funciones de Exchange como la disponibilidad libre/ocupado entre compañeros, la reserva de salas y la delegación funcionan de otra manera; anótelas en su lista.
Cuestionario
Ejercicio
Ejercicio A5.1: ¿Encuentra una aplicación su calendario? Introduzca la dirección de su nube (nueva), por ejemplo cloud.example.com. El programa comprueba si /.well-known/caldav y /.well-known/carddav redirigen correctamente a una ruta DAV, y si el servidor responde allí como servidor DAV. Así sabrá si en un teléfono basta con introducir únicamente el nombre de dominio.
Para saber más
Los pasos de estos artículos son válidos para los servicios de WebOké; con otros proveedores funciona de forma similar.
- Manual de Nextcloud 3.5: Contraseñas de aplicación: cuándo y cómo
- Manual de Nextcloud 9.9: Calendario y contactos en el iPhone y el iPad
- Manual de Nextcloud 9.10: Calendario y contactos en Android con DAVx5
- Manual de Nextcloud 15.6: El calendario o los contactos no aparecen en el teléfono
- Crear una contraseña de aplicación (necesaria para conectar apps y dispositivos)
- RFC 4791 (CalDAV), RFC 6352 (CardDAV), RFC 4918 (WebDAV), RFC 6764 (.well-known y SRV para CalDAV y CardDAV)
