Google Calendar como controlador predeterminado del protocolo webcal para archivos iCal / ICS

20

Me gustaría que Google Calendar abriera los URI con el esquema Webcal (wikipedia) (entrega de archivos ICS), similar a cómo Gmail se puede configurar para que sea el controlador predeterminado para los mailto:enlaces.

Más específicamente, me gustaría que Google Calendar los importe a mi calendario principal. (Puede importar manualmente un archivo ICS en Google Calendar haciendo clic en la flecha pequeña junto a Otros calendarios, eligiendo Importar calendario en la lista desplegable, navegando hasta el archivo .ICS y seleccionando Importar).

No sé si esto es posible, pero espero que alguien tenga una gran idea.

Rasmus
fuente

Respuestas:

14

Cromo

El navegador Chrome ofrece esta opción cuando inicia sesión por primera vez en Google Calendar:

Google Calendar en el navegador Chromium ofrece manejar protocolos webcal

Si ha respondido accidentalmente con Noesta pregunta, puede presionar el Wrenchbotón de la barra de herramientas e ir a Settings. Haga clic en Show advanced settingsbuscar Content settings...(justo después del encabezado Privacidad) y busque el Manage handlersbotón. Haga clic en al Xlado del protocolo ignorado que desea eliminar. Alternativamente, puede escribir en el protocol handlerscuadro de búsqueda en la configuración de Chromium. Vea la captura de pantalla a continuación.

Deshacer ignorar el controlador de protocolo en el navegador Chromium

Firefox

Encontré esta publicación en stackexchange que explica cómo lograr lo mismo en Firefox, pero esto no funciona para mí en firefox 12 y 15: esto funciona para mí si desactivo la opción Nunca guardar el historial (modo de navegación privada):

Vaya al sitio de Google Calendar y presione Ctrl+Shift+K.

Pegue esto después del signo>:

navigator.registerProtocolHandler("webcal","https://www.google.com/calendar/render?cid=%s","Google Calendar");

Presione la tecla Intro y haga clic en el Add applicationbotón que debería aparecer debajo de la barra de herramientas.

Consola Firefox

Firefox acepta el protocolo de manejo

Es posible que necesite cambiar la gecko.handlerService.allowRegisterFromDifferentHostopción en la about:configque trueantes de intentar esto (si Google le redirige a un dominio local de Google). Recuerde volverlo a falso después de llamar a la función registerProtocolHandler porque los sitios maliciosos pueden explotar esto. Ver detalles aquí .

jeremija
fuente
Personalmente, estoy buscando la opción para Chrome / Chromium. En caso de que uno no haya reaccionado correctamente en el primer inicio de sesión, ¿hay opciones abiertas?
Rasmus
Sí, puede eliminar un controlador de protocolo ignorado. ¡Mira mi respuesta editada!
jeremija
1
Descubrí que necesito poner javascript:navigator.registerProtocolHandler("webcal","https://www.google.com/calendar/render?cid=%s","Google Calendar");en la barra de ubicación en Google Chrome para que funcione.
Mikko Rantalainen
Probé la solución de Firefox, pero al hacer clic en un archivo .ics, aparece la ventana emergente para almacenar o abrir con gedit (ya que es un archivo VCS / ICS) ¿algún consejo sobre esto? por cierto superuser.com/a/442494/216033 mencionan una solución similar.
TiloBunt
aquí un ics de prueba (lo encontré durante mi búsqueda en Google de soluciones) calendar-a-googleproductforums-com.googlegroups.com/attach/…
TiloBunt
15

En las versiones más nuevas de Chromium / Chrome, debe iniciar sesión en el calendario de Google y hacer clic en el icono de diamante superpuesto en la barra de direcciones.

Captura de pantalla

Seleccione "Usar Google Calendar", luego haga clic en Listo. Esto registrará el calendario de Google como un controlador para enlaces webcal.

Nota:
es posible que deba configurar Chromium para permitir que los sitios se conviertan en controladores de protocolo predeterminados. Puedes hacerlo a través de:

  1. Configuración avanzada -> Privacidad, Configuración de contenido -> Controladores
  2. Seleccione "Permitir que los sitios soliciten convertirse en controladores predeterminados para protocolos"
peonículas
fuente
No funciona en cromo ...
Banee Ishaque K
1

Como me encontré con la misma pregunta que el OP y las cosas han cambiado desde que se publicó la respuesta aceptada, pensé en compartir mis hallazgos. Las siguientes instrucciones son principalmente para Firefox, pero aparte de las pequeñas diferencias, también deberían funcionar en Chrome.

[2019-03-08] Actualización: refleja el nuevo comportamiento de Firefox

Porque usar

    javascript:window.navigator.registerProtocolHandler("webcal","https://calendar.google.com/calendar/r?cid=%s","Google Calendar");

en la consola de Firefox resulta en una

SecurityError: permiso denegado para agregar https://www.google.com/calendar/render?cid=%s como un controlador de protocolo

Hoy en día, esta es la nueva forma de "hacerlo realidad":

  1. Navegue hasta about:configconfirmar el riesgo haciendo clic en el botón.
  2. Escriba webcal, filtrando la lista a elementos de tipo gecko.handlerService.schemes.webcal.[...].
  3. Haga clic en el Editbotón a la derecha del [...].nameelemento elegido (ya que 30 Cajas se abandonaron con Firefox 67 , opté por [...].0.name)
  4. Escriba su nombre deseado, por ejemplo, Google Calendary haga clic Save.
  5. Haga clic en el Editbotón de su [...].uriTemplateelemento correspondiente , es decir, el que está justo debajo del editado.
  6. Pegue la URL https://calendar.google.com/calendar/r?cid=%sy haga clic Save.
  7. Ir a las opciones de Firefox para aplicaciones asociadas por clic de forma consecutiva , ⚙ Options, ⚙ Generaly opciones de menú y luego desplazarse hasta el Applicationspárrafo.
  8. Busque en la lista webcalya sea escribiéndola en el cuadro de búsqueda justo arriba de la lista o desplazándose.
  9. Haga clic en el menú desplegable en la mitad derecha de la entrada y seleccione Use Google Calendar(o el nombre que elija en la instrucción # 4).

Calendarios de prueba: https://www.webcal.fi/en/calendars.php

HTH. Si no, solo deja un comentario a continuación.

Yoda
fuente
Seguí todos los pasos pero aún no funciona para mí en FF 50.1.0 / Ubuntu x64. Todo es como dijiste, pero ics aún invoca el diálogo con el manejo de contenido (guardar o ejecutar la aplicación). He probado el navigator.registerContentHandlermétodo pero aún no hay resultados, URI / gcal no se está registrando para el tipo mime:text/calendar
b1r3k
1
Lo sentimos, pero parece que Google o Mozilla cambiaron algo y, por lo tanto, no funciona en este momento. Sin embargo, aún puede agregar manualmente una entrada para gecko.handlerService.schemes.webcal.X.namey gecko.handlerService.schemes.webcal.X.uriTemplate(donde X es un número más alto que el más alto actual) dentro de la about:configURL. luego, puede continuar con la instrucción # 5.
Yoda
Acabo de probar esto en el último Google Chrome sin suerte. Pude hacer que el controlador se registre, pero no tuve suerte de que un archivo ICS se cargara en Google Cal con ese controlador registrado.
Craig Lambie
@CraigLambie En primer lugar, es bastante triste encontrar que mi respuesta es " -1editada" por usuarios descontentos de Chrome. En segundo lugar, nunca dije "las instrucciones también funcionan en Chrome". En cambio, dije claramente : "¡ aparte de pequeñas diferencias , deberían funcionar en Chrome"! Por último, dado que nunca usaré Chrome, simplemente no me importa cómo maneja los enlaces webcal: para Firefox funciona y esa fue la razón detrás de toda esta respuesta desde el principio. Para soluciones basadas en Chromium, vea las respuestas de @peonicles o @jeremija y solicite más correcciones de Chrome.
Yoda