CalDAV es una extensión de WebDAV que proporciona un estándar para que los clientes accedan a la información del calendario en un servidor remoto.
Google proporciona una interfaz de CalDAV que puedes usar para ver y administrar calendarios con el protocolo CalDAV.
La API de CalDAV tiene los mismos límites de cuota que la API de Calendar. Para obtener más información, consulta Límites de uso.
Especificaciones
Para cada una de las especificaciones pertinentes, la compatibilidad de CalDAV de Google es la siguiente:
rfc4918: Extensiones HTTP para creación y control de versiones distribuidas en la Web (WebDAV)
- Admite los métodos HTTP
GET,PUT,HEAD,DELETE,POST,OPTIONS,PROPFINDyPROPPATCH. - No admite los métodos HTTP
LOCK,UNLOCK,COPY,MOVE,MKCOLni el encabezadoIf*(exceptoIf-Match). - No admite propiedades WebDAV arbitrarias (definidas por el usuario).
- No admite el control de acceso de WebDAV (rfc3744).
- Admite los métodos HTTP
rfc4791: Extensiones de calendario para WebDAV (CalDAV)
- Admite el método HTTP
REPORT. Se implementan todos los informes, exceptofree-busy-query. - No admite el método HTTP
MKCALENDAR. - No admite la acción
AUDIO.
- Admite el método HTTP
-
- Los datos expuestos en la interfaz de CalDAV se formatean según la especificación de iCalendar.
- No admite datos
VTODOniVJOURNAL. - No admite la extensión iCal de Apple para permitir propiedades de URL configurables por el usuario.
rfc6578: Sincronización de colecciones para WebDAV
- Las aplicaciones cliente deben cambiar a este modo de operación después de la sincronización inicial.
rfc6638: Extensiones de programación para CalDAV
- Admite una "bandeja de entrada" trivial, que siempre está vacía.
- Las invitaciones que recibes se entregan automáticamente en tu colección de "eventos" en lugar de colocarse en tu "bandeja de entrada".
- No admite la búsqueda
free-busy.
caldav-ctag-02: Etiqueta de entidad de colección de calendario (CTag) en CalDAV
- El
ctagdel calendario es como unetagde recursos; cambia cuando cambia algo en el calendario. Esto permite que la aplicación cliente determine rápidamente que no necesita sincronizar ningún evento modificado.
- El
calendar-proxy: Funcionalidad de proxy de usuario de calendario en CalDAV
- Para mejorar el rendimiento de la sincronización del calendario, las solicitudes que incluyen las propiedades
calendar-proxy-read-forocalendar-proxy-write-forfallarán con un UserAgent de iOS porque los dispositivos iOS no admiten la delegación.
- Para mejorar el rendimiento de la sincronización del calendario, las solicitudes que incluyen las propiedades
Aunque nuestra implementación de CalDAV no cubre todas las especificaciones, funciona correctamente para muchos clientes, incluido el Calendario de Apple.
Crea tu ID de cliente
Para usar la API de CalDAV, debes tener una Cuenta de Google.
Antes de poder enviar solicitudes a la API de CalDAV, debes registrar tu cliente en la consola de Google Cloud creando un proyecto.
Ve a la Consola de API de Google. Haz clic en Crear proyecto, ingresa un nombre y haz clic en Crear.
A continuación, debes activar la API de CalDAV.
Si deseas habilitar una API para tu proyecto, haz lo siguiente:
- Abre la Biblioteca de APIs en la Consola de APIs de Google. Si se te solicita, selecciona un proyecto o crea uno nuevo. La Biblioteca de API muestra todas las API disponibles, agrupadas por familia de productos y popularidad.
- Si la API que quieres habilitar no está en la lista, usa la búsqueda para encontrarla.
- Selecciona la API que deseas habilitar y, luego, haz clic en el botón Habilitar.
- Si se te solicita, habilita la facturación.
- Si se te solicita, acepta las Condiciones del Servicio de la API.
Para realizar solicitudes a la API de CalDAV , necesitas un ID de cliente y un secreto de cliente.
Para encontrar el ID de cliente y el secreto de cliente de tu proyecto, haz lo siguiente:
- Selecciona una credencial de OAuth 2.0 existente o abre la página Credenciales.
- Si aún no lo hiciste, crea las credenciales de OAuth 2.0 de tu proyecto haciendo clic en Crear credenciales > ID de cliente de OAuth y proporcionando la información necesaria para crear las credenciales.
- Busca el ID de cliente en la sección IDs de cliente de OAuth 2.0. Para obtener más información, haz clic en el ID de cliente.
Conéctate al servidor CalDAV de Google
Para usar la interfaz de CalDAV, un programa cliente se conecta inicialmente con el servidor de calendario en uno de los dos puntos de partida. En cualquier caso, la conexión
debe realizarse a través de HTTPS y debe usar el esquema de autenticación de OAuth
2.0. El servidor CalDAV se niega a autenticar una solicitud, a menos que llegue a través de HTTPS con la autenticación de OAuth 2.0 de una Cuenta de Google. Si intentas conectarte a través de HTTP o usar la autenticación básica, se genera un código de estado HTTP 401 Unauthorized.
Si el programa cliente (como la app de Calendario de Apple) requiere una colección principal como punto de partida, el URI para conectarse es el siguiente:
https://apidata.googleusercontent.com/caldav/v2/CALENDAR_ID/user
Reemplaza CALENDAR_ID por el ID del calendario al que se accederá.
Para encontrar el ID del calendario a través de la interfaz web, selecciona ** Configuración del calendario** en el menú desplegable junto al nombre del calendario. El ID del calendario se muestra en una sección etiquetada como Dirección del calendario. El ID del calendario principal de un usuario es el mismo que la dirección de correo electrónico de ese usuario.
Si un programa cliente (como Mozilla Thunderbird) requiere una colección de calendario como punto de partida, usa el siguiente URI:
https://apidata.googleusercontent.com/caldav/v2/CALENDAR_ID/events