Cómo importar un archivo ICS en Google Calendar
Los pasos exactos para importar un .ics en Google Calendar desde el navegador de escritorio, por qué las apps móviles no pueden hacerlo, en qué se diferencia importar de suscribirse a una URL, qué ocurre con los eventos recurrentes y cómo salir del error "No se ha podido procesar tu solicitud".
Importar un archivo .ics en Google Calendar son cuatro clics, pero solo desde el navegador de un ordenador: abre calendar.google.com, pulsa el engranaje y entra en Configuración, abre "Importar y exportar" en la barra lateral, pulsa "Seleccionar archivo del ordenador", elige el calendario de destino y dale a Importar. Google responde con un mensaje del tipo "Se han importado 3 de 3 eventos". Lo que puede salir mal cae en unas pocas categorías, y esta guía las recorre: importar frente a suscribirse, qué pasa con los eventos recurrentes, por qué en el móvil no aparece el botón y qué significan de verdad los mensajes de error.
La importación desde escritorio, paso a paso
- Abre calendar.google.com e inicia sesión con la cuenta propietaria del calendario de destino.
- Pulsa el engranaje arriba a la derecha y entra en Configuración (no en "Configuración de mis calendarios").
- En la barra lateral, pulsa "Importar y exportar". El panel de importación está arriba del todo.
- Pulsa "Seleccionar archivo del ordenador" y elige tu .ics. Google también acepta .csv exportados desde Outlook y .zip de Google Takeout.
- Elige el calendario en el desplegable "Añadir al calendario". Solo aparecen aquellos de los que eres propietario o en los que puedes "Hacer cambios en los eventos".
- Pulsa Importar y espera al contador de confirmación.
Ese contador conviene leerlo con atención. Si dice "Se han importado 12 de 40 eventos", el archivo se ha interpretado bien pero 28 eventos se han rechazado uno a uno: casi siempre les falta DTSTART, llevan una RRULE mal formada o repiten el UID de un evento que ya existe en ese calendario. Google no dice cuáles, así que validar antes ahorra tiempo.
Importar y suscribirse no son lo mismo
Es la distinción que más confusión genera. Importar copia los eventos una sola vez. A partir de ahí las copias son tuyas: puedes editarlas, borrarlas y moverlas, y no volverán a cambiar solas. Si quien publica actualiza el horario, tú conservas la versión antigua hasta que importes el archivo nuevo.
Suscribirse es darle a Google una URL que sirve un .ics para que la vuelva a descargar cada cierto tiempo. Pulsa el "+" junto a "Otros calendarios", elige "Desde URL" y pega una dirección http o https que devuelva el texto iCalendar en crudo. Los eventos quedan en solo lectura y se actualizan cuando cambia el origen. El precio es la latencia: Google decide su intervalo de sondeo, que suele ir de unas horas a un día, y no hay forma soportada de forzar la actualización. Quitar la suscripción y volver a añadirla es el único apaño fiable.
Qué ocurre con los eventos recurrentes
Google importa una serie recurrente como un único evento con su RRULE intacta, no como cientos de entradas sueltas: editar la serie después edita todas las repeticiones. Hay tres detalles que deciden si funciona.
UNTIL tiene que ir en UTC si DTSTART lleva TZID
La RFC 5545 lo dice sin rodeos: si DTSTART es una hora local con referencia a zona horaria, la parte UNTIL de la RRULE debe escribirse como fecha-hora UTC terminada en Z. Un archivo con UNTIL=20261231T235959 junto a DTSTART;TZID=Europe/Madrid es inválido, y Google descarta la serie o importa solo la primera repetición.
Las excepciones necesitan a su evento padre en el mismo archivo
Las repeticiones canceladas viajan como líneas EXDATE dentro del VEVENT maestro. Las modificadas viajan como bloques VEVENT aparte que comparten el UID del maestro y llevan un RECURRENCE-ID apuntando a la fecha original. Si el maestro no está en el archivo, esas excepciones llegan huérfanas y Google las descarta o las convierte en eventos sueltos en la fecha equivocada.
Reimportar actualiza en lugar de duplicar, pero solo a veces
Google compara por UID dentro de un mismo calendario. Si importas el mismo archivo dos veces en el mismo calendario, la segunda pasada actualiza los eventos en vez de duplicarlos. Si lo importas en otro calendario de la misma cuenta, obtienes una segunda copia, porque la comparación se hace calendario a calendario. De ahí vienen casi todos los duplicados tras una importación.
Por qué no se puede importar desde el móvil
Las apps de Google Calendar para Android e iOS no tienen función de importar: sus ajustes cubren notificaciones, vista por defecto y colores, y poco más. La interfaz de importación existe solo en el cliente web, y entrar en calendar.google.com desde el móvil sirve la versión web móvil, que tampoco la incluye.
Hay dos salidas. Abrir el menú del navegador, marcar "Versión para ordenador" y recargar: aparece la página completa de Configuración, el selector abre el almacenamiento del teléfono y la importación funciona, aunque la maquetación queda apretada. O abrir el .ics como adjunto de un correo: Gmail en Android muestra los eventos con un botón para añadirlos al calendario, y en iOS Apple Calendar ofrece "Añadir todos" y sincroniza con la cuenta de Google si está configurada. Ninguna de las dos deja elegir el destino con la precisión de la importación de escritorio.
Cuántos eventos admite una importación
Google no publica un número máximo de eventos por archivo, pero esta vía no está pensada para migraciones masivas. Un archivo con unos cientos de eventos entra en segundos. Uno con varios miles se queda colgado, agota el tiempo o devuelve un error genérico, y como el análisis lo hace la pestaña del navegador, un equipo lento lo empeora. Google aplica además un tope diario de eventos creados por cuenta, así que una importación muy grande puede completarse a medias y empezar a rechazar el resto.
Con un calendario grande, lo práctico es partirlo en tandas de unos mil eventos, o por categoría, e importarlas una detrás de otra. Como Google compara por UID, una tanda que falle a medias se puede reimportar sin generar duplicados.
Qué calendario elegir como destino
No importes nunca en tu calendario principal al primer intento. Crea antes uno nuevo desde Configuración, "Añadir calendario", "Crear un calendario", e importa ahí. Si las zonas horarias salen mal o el archivo resulta estar lleno de basura, lo borras entero de un clic en lugar de ir cazando eventos uno a uno.
Algunos calendarios no aparecen nunca en el desplegable: los suscritos, Festivos, Cumpleaños y cualquier calendario compartido en el que tu permiso sea "Ver todos los detalles de los eventos" en lugar de "Hacer cambios en los eventos".
"No se ha podido procesar tu solicitud" y los demás errores
Google devuelve el mismo mensaje poco útil para casi cualquier fallo de análisis. Por orden de frecuencia, esto es lo que conviene revisar:
- El archivo no es realmente un .ics. Una descarga guardada como invitacion.ics.txt, o una página de error HTML con extensión .ics, falla al instante. Ábrelo en un editor de texto: la primera línea tiene que ser BEGIN:VCALENDAR.
- Faltan propiedades obligatorias. La RFC 5545 exige VERSION:2.0 y PRODID en el VCALENDAR, y UID y DTSTAMP en cada VEVENT. Los archivos generados por script se saltan PRODID o DTSTAMP con frecuencia.
- Codificación equivocada. Cualquier cosa que no sea UTF-8 se rompe en la primera vocal acentuada. Las exportaciones en Latin-1 de sistemas antiguos son el caso típico.
- Plegado de líneas roto. Las líneas de más de 75 octetos deben partirse con CRLF seguido de un espacio. Un script que corta con saltos de línea normales genera propiedades que Google no sabe leer.
- Finales de línea mezclados. El estándar pide CRLF; los archivos guardados con LF a secas unas veces pasan y otras no.
- Un .zip con carpetas dentro. Los archivos de Takeout entran bien; un zip hecho por ti con un directorio anidado, no.
Si prefieres no auditar el archivo a mano, iCalConverter.com tiene una herramienta de optimización para Google Calendar que reescribe el .ics con la forma que acepta el importador: normaliza los identificadores de zona horaria a nombres IANA, recodifica en UTF-8 con el plegado CRLF correcto, rellena los UID y DTSTAMP que falten y repara las RRULE en las que UNTIL y DTSTART no se llevan bien. Se ejecuta en el navegador, así que el archivo no sale de tu equipo.
En resumen
Importa desde el navegador de un ordenador, en un calendario desechable, y comprueba antes que el archivo se abre como texto plano empezando por BEGIN:VCALENDAR. Suscríbete por URL siempre que el horario lo mantenga otra persona. Y cuando Google rechace un archivo sin explicar por qué, suele ser la codificación, el plegado o una propiedad obligatoria que falta.