Pregunta

Estoy generando ICalendar (.ics) archivos.

El uso de la UID y campos de SECUENCIA puedo actualizar los eventos en el Calendario de Google y en el Calendario de Windows PERO NO en MS Outlook 2007 - sólo crea un segundo evento

¿Cómo puedo hacer que trabajen para Outlook ?

Gracias

Tom

¿Fue útil?

Solución

He seguido para hacer algunas pruebas y ahora han logrado obtener Outlook para actualizar y cancelar los eventos basados en la .cs archivo.

Outlook, de hecho, parece responder a las reglas definidas en RFC 2446

En resumen, se tiene que especificar

METHOD:REQUEST y ORGANIZER:xxxxxxxx

además de la UID:y SEQUENCE:

Para realizar la cancelación debes especificar METHOD:CANCEL

Solicitud/Actualización De Ejemplo

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//SYFADIS//PORTAIL FORMATION//FR
METHOD:REQUEST
BEGIN:VEVENT
UID:TS_229377_MS_262145@syfadis.com
SEQUENCE:5
DTSTAMP:20081106T154911Z
ORGANIZER:catalog@syfadis.com
DTSTART:20081113T164907
DTEND:20081115T170000
SUMMARY:TestTraining
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

Cancelar Ejemplo;

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//SYFADIS//PORTAIL FORMATION//FR
METHOD:CANCEL
BEGIN:VEVENT
UID:TS_229377_MS_262145@syfadis.com
SEQUENCE:7
DTSTAMP:20081106T154916Z
ORGANIZER:catalog@syfadis.com
DTSTART:20081113T164907
SUMMARY:TestTraining
STATUS:CANCELLED
END:VEVENT
END:VCALENDAR

Otros consejos

Tengo una bodega de Tom Carter, el autor de la pregunta.Había un ejemplo de trabajo con una solicitud seguido por una cancelación.Lo que me tenía mal era mi MÉTODO fue dentro de mi VEVENT, cuando debería haber estado en el exterior.Así que aquí es un trabajo de actualización!

Original:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//WA//FRWEB//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:FRICAL201
SEQUENCE:0
DTSTAMP:20081108T151809Z
ORGANIZER:donotreply@test.com
DTSTART:20081109T121200
SUMMARY:11/9/2008 12:12:00 PM TRIP FROM JFK AIRPORT (JFK)
LOCATION:JFK AIRPORT (JFK)
END:VEVENT
END:VCALENDAR

Actualización:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//WA//FRWEB//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:FRICAL201
SEQUENCE:1
DTSTAMP:20081108T161809Z
ORGANIZER:donotreply@test.com
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.

Estoy usando outlook 2003 (a partir de la lectura de los posts, 2007 parece comportarse de la misma manera) y es necesario distinguir claramente entre el comportamiento de la explícita la importación de archivos de un archivo ics y el implícito de importación cuando un archivo ics es 'doble clic'.

En el menú de Outlook Archivo / Importar y Exportar ...Outlook se carga como muchos VEVENT entradas que están en el archivo y no hay manera de cambiar el UID: SECUENCIA:o DTSTAMP:los valores de los cambios de la presente, yo.e.si cambia alguno de los datos y volver a importar de que usted acaba de obtener un duplicado de un conjunto de entradas.

Si hace doble clic en un archivo ics que los procesos de la primera VEVENT entrada solamente.Sin embargo, no reconocer el UID y, si el DTSTAMP:es más tarde (la SECUENCIA puede ser la misma, pero no menor) se le pedirá actualizar el evento en su agenda.

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

añade esto a tu archivo ICS

X-WR-RELCALID:MyCal123   

donde MyCal123 es un identificador único para su calendario.

Por añadir esta línea a un archivo ICS de todo el calendario se actualiza (después de un mensaje en Outlook).Usted incluso no necesita cambiar el DTSTAMP o SECUENCIA o el ORGANIZADOR y MÉTODO:PUBLICAR es buena para la actualización.Acabo de actualizar los detalles del evento, haga doble clic en el ICS y el calendario de actualización.Tenga en cuenta que esto también funciona bien si se ha publicado el calendario y proporciona una URL para que la gente a verlo.Ellos solo necesitan actualizar después de unos 2mins y también recibirá la actualización.

Gracias a David Bjørnhart para señalar esto: ICal de importación crea un nuevo calendario a la hora de Abrir el archivo ics

Estoy usando Entourage, por lo que este puede no coincidir exactamente con el comportamiento que estamos viendo, pero espero te sirva de ayuda.

El uso de la iCalendar de su respuesta, Entourage ni siquiera importar los datos.El uso de un buen archivo, lo tengo a la importación, a continuación, la actualización correctamente.Comparar los dos archivos, el único diferencias estructurales son como sigue:

  • Mi buena conocida no tiene un VERSION elemento
  • Mi buena conocida no tiene un PRODID elemento
  • Mi buena conocida no tiene un STATUS elemento
  • Mi buena conocida no tiene un SEQUENCE elemento

Desde Microsoft soporte para estándares abiertos tiende a lag, me gustaría sugerirle que sin el VERSION info.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top