language agnostic - ics - ICalendar y las actualizaciones de eventos no funcionan en Outlook
ics ical (5)
Estoy usando Entourage, por lo que puede no coincidir exactamente con el comportamiento que está viendo, pero espero que ayude.
Usando el iCalendar de su respuesta, Entourage ni siquiera importaría los datos. Usando un archivo conocido, lo tengo para importar y luego actualizarlo con éxito. Comparando los dos archivos, las únicas diferencias estructurales son las siguientes:
- Mi bien conocido no tiene un elemento
VERSION
- Mi bien conocido no tiene un elemento
PRODID
- Mi bien conocido no tiene un elemento
STATUS
- Mi bien conocido no tiene un elemento
SEQUENCE
Dado que el soporte de Microsoft para estándares abiertos tiende a retrasarse, sugiero probar sin la información VERSION
.
Estoy generando archivos de ICalendar (.ics).
Utilizando los campos UID y SEQUENCE puedo actualizar los eventos existentes en Google Calendar y en el calendario de Windows PERO NO en MS Outlook 2007; solo crea un segundo evento.
¿Cómo puedo hacer que funcionen para Outlook?
Gracias
Tom
Conseguí a Tom Carter, el asker. Tenía un ejemplo de trabajo con una solicitud seguida de una cancelación. Lo que tuve mal fue que mi MÉTODO estaba dentro de mi VEVENT cuando debería haber estado afuera. ¡Aquí hay una actualización de trabajo!
Original:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//WA//FRWEB//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:FRICAL201
SEQUENCE:0
DTSTAMP:20081108T151809Z
ORGANIZER:[email protected]
DTSTART:20081109T121200
SUMMARY:11/9/2008 12:12:00 PM TRIP FROM JFK AIRPORT (JFK)
LOCATION:JFK AIRPORT (JFK)
END:VEVENT
END:VCALENDAR
Actualizar:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//WA//FRWEB//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:FRICAL201
SEQUENCE:1
DTSTAMP:20081108T161809Z
ORGANIZER:[email protected]
DTSTART:20081109T121300
SUMMARY:11/9/2008 12:13:00 PM TRIP FROM JFK AIRPORT (JFK)
LOCATION:JFK AIRPORT (JFK)
END:VEVENT
END:VCALENDAR
Todo lo que hice fue agregar el método de solicitud (¡en el lugar correcto!) Y un organizador.
Continué realizando algunas pruebas y ahora conseguí que Outlook actualizara y cancelara eventos basados en el archivo .cs.
De hecho, Outlook parece responder a las reglas definidas en RFC 2446
En resumen, debes especificar
METHOD:REQUEST
y ORGANIZER:xxxxxxxx
además de UID
: y SEQUENCE:
Para una cancelación, debe especificar el METHOD:CANCEL
Ejemplo de solicitud / actualización
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//SYFADIS//PORTAIL FORMATION//FR
METHOD:REQUEST
BEGIN:VEVENT
UID:[email protected]
SEQUENCE:5
DTSTAMP:20081106T154911Z
ORGANIZER:[email protected]
DTSTART:20081113T164907
DTEND:20081115T170000
SUMMARY:TestTraining
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR
Cancelar el ejemplo;
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//SYFADIS//PORTAIL FORMATION//FR
METHOD:CANCEL
BEGIN:VEVENT
UID:[email protected]
SEQUENCE:7
DTSTAMP:20081106T154916Z
ORGANIZER:[email protected]
DTSTART:20081113T164907
SUMMARY:TestTraining
STATUS:CANCELLED
END:VEVENT
END:VCALENDAR
Estoy usando Outlook 2003 (al leer las publicaciones, 2007 parece comportarse de la misma manera) y necesita distinguir claramente entre el comportamiento de la importación de archivos explícitos de un archivo ics y la importación implícita cuando se hace doble clic en un archivo ics ''.
En el menú de Outlook Archivo / Importar y Exportar ... Outlook cargará tantas entradas de VEVENT como están en el archivo y ninguna cantidad de cambio de UID :, SECUENCIA: o DTSTAMP: los valores cambian esto, es decir, si usted cambia cualquier dato y lo vuelve a importar simplemente obtienes un conjunto duplicado de entradas.
Si hace doble clic en un archivo ics procesa la primera entrada de VEVENT solamente. Sin embargo, reconoce el UID y, si el DTSTAMP: es posterior (la SECUENCIA puede ser la misma pero no más baja), se le preguntará y actualizará el evento en su calendario.
BEGIN:VCALENDAR
VERSION:2.0
PRODID:www.membership-services.net
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20090126T210000
DTEND:20090126T220000
SUMMARY:Avondale - Thameside Away Game vs Croydon
LOCATION:Whitgift School
DESCRIPTION:http://maps.google.co.uk/maps?f=q&hl=en&geocode=&q=CR2+6YT
UID:AWPC_8
SEQUENCE:0
DTSTAMP:20090123T112600
END:VEVENT
BEGIN:VEVENT
DTSTART:20090202T213000
DTEND:20090202T223000
SUMMARY:Avondale - Thameside Home Game vs Orcas
LOCATION:Putney
DESCRIPTION:http://maps.google.co.uk/maps?f=q&source=s_q&hl=en&ie=UTF8&ll=51.4635,-0.2285&spn=0.005,0.009613&t=h&z=17&iwloc=lyrftr:w2t.90,0x48760f04a04b1801:0x49ebf12503a5d5a9,51.463459,-0.228674
UID:AWPC_10
SEQUENCE:0
DTSTAMP:20090123T112600
END:VEVENT
END:VCALENDAR
agregue esto a su archivo ICS
X-WR-RELCALID:MyCal123
donde MyCal123 es un identificador único para su calendario.
Al agregar esta línea a un archivo ICS, se actualiza todo el calendario (después de un aviso en Outlook). Ni siquiera necesita cambiar el DTSTAMP o SEQUENCE u ORGANIZER y METHOD: PUBLISH está bien para la actualización. Simplemente actualice los detalles del evento, haga doble clic en el ICS y el calendario se actualizará. Tenga en cuenta que esto también funciona bien si ha publicado el calendario y ha proporcionado una URL para que las personas lo vean. Solo necesitan actualizar después de aproximadamente 2 minutos y también recibirán la actualización.
Gracias a David Bjørnhart por señalar esto: ICal Import crea un nuevo calendario cuando abre el archivo ics