2008-12-02 83 views
15

Tengo la necesidad de permitir que un usuario descargue un evento que tiene varias fechas de reunión. Para hacer esto, he creado un flujo de memoria para descargar que produce un archivo .ics. Por ejemplo:Cómo crear un archivo .ICS con varios VEVENT para importar a un calendario de Outlook existente

 
BEGIN:VCALENDAR 
PRODID:-//Company//Product//EN 
VERSION:2.0 
METHOD:PUBLISH 
BEGIN:VEVENT 
SUMMARY:Subject of Event 
LOCATION:Location of Event 
UID:[email protected] 
DESCRIPTION:Some description 
DTEND:20081101T200000Z 
DTSTART:20081101T200000Z 
PRIORITY:3 
END:VEVENT 
BEGIN:VEVENT 
    ... 
END:VEVENT 
END:VCALENDAR 

Si solo incluyo un VEVENT en este archivo, lo guardaré en mi calendario de Outlook existente. Sin embargo, cuando tengo varios VEVENT, quiere abrirlo como un nuevo calendario y lo archiva en "Otros calendarios".

¿Hay alguna manera (sin usar Archivo - Importar desde Outlook) de especificar que el calendario se debe importar automáticamente al calendario existente cuando se abre?

ACTUALIZACIÓN: Para aclarar, cada VEVENT está relacionado con una sola "Cita". Sin embargo, puede haber o no un patrón recurrente.

-Mike

+0

¿Es la misma cita, con un patrón recurrente o las citas no están relacionadas entre sí? – Tomalak

+0

Es la misma cita ... desafortunadamente puede haber o no un patrón recurrente. Por ejemplo, se reúne el martes de esta semana y el miércoles de la próxima semana, etc. – mwilkes

+0

Supongo que el "VEGETAL" es un error tipográfico? – Tomalak

Respuesta

3

No creo que esto funcione. Outlook tiene limitaciones para importar esas especificaciones "abiertas". Tuve un problema similar al tratar de importar un archivo vCard con múltiples contactos. Terminé dividiendo el archivo y escribiendo un script en Outlook para importar todos los archivos en un directorio.

+1

Sí, estaba pensando lo mismo. Sin embargo, varios eventos funcionan para un calendario .ics suscrito. – Tomalak

3

Esto es posible, usando un Calendario de Internet (como el de Google). Outlook 2007 tiene la capacidad de suscribirse a un Calendario de Internet (en Configuración de la cuenta) y Outlook 2003 tiene un complemento de código abierto disponible. Puede crear un feed accesible que sea de "solo lectura". El formato es como

BEGIN:VCALENDAR 
PRODID:-//XYZ Corp//My Product//EN 
VERSION:2.0 
CALSCALE:GREGORIAN 
METHOD:PUBLISH 
X-WR-CALNAME:My Calendar 
X-WR-TIMEZONE:(GMT-05:00) Eastern Time (US & Canada) 
BEGIN:VEVENT 
DTSTART:20061021T100000Z 
DTEND:20061021T130000Z 
DTSTAMP:20090211T175526Z 
UID:5f98dfd5-ac72-4ae1-b3c2-799a4e7c91f9 
CLASS:PUBLIC 
CREATED:20071104T183833Z 
DESCRIPTION: My description text. 
LAST-MODIFIED:20071104T183833Z 
LOCATION: 123 Anywhere Street\; Anyplace, NJ 12345\; US 
SEQUENCE:0 
STATUS:CONFIRMED 
SUMMARY: My summary text. 
TRANSP:OPAQUE 
END:VEVENT 
BEGIN:VEVENT 
DTSTART:20061101T170000Z 
DTEND:20061101T180000Z 
DTSTAMP:20090211T175526Z 
UID:6eaef015-eb90-4e94-8e6c-0003b928969a 
CLASS:PUBLIC 
CREATED:20071104T183833Z 
DESCRIPTION: My description for number 2. 
LAST-MODIFIED:20071104T183833Z 
LOCATION: 123 Anywhere Street\; Anyplace, NJ 12345\; US 
SEQUENCE:0 
STATUS:CONFIRMED 
SUMMARY: My summary for #2. 
TRANSP:OPAQUE 
END:VEVENT 
END:VCALENDAR 
+0

Intenté usar esto y recibí el error de que no es un archivo ics válido. – jcaruso

1

esto es un ejemplo de tres partidos de la FIFA 2010 en perspectiva, supongo que esto es lo que busca ...

BEGIN:VCALENDAR 

PRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN 

VERSION:2.0 

METHOD:PUBLISH 

X-CALSTART:20100611T140000Z 

X-CALEND:20100711T201500Z 

X-WR-RELCALID:{0000002E-5A22-AA75-713B-5C3715764495} 

X-WR-CALNAME: World Cup Football Complete Match Schedule 2010 South Africa 

BEGIN:VEVENT 

CATEGORIES:World Cup Football Complete Match Schedule 2010 South Africa 

CLASS:PUBLIC 

CREATED:20100608T231102Z 

DESCRIPTION:Group A\nFollow MarkThisDate on Twitter 

    markthisdate 

DTEND:20100611T154500Z 

DTSTAMP:20100513T100200Z 

DTSTART:20100611T140000Z 

LAST-MODIFIED:20100608T231102Z 

LOCATION:Johannesburg 

PRIORITY:5 

SEQUENCE:0 

SUMMARY:South Africa - Mexico 

TRANSP:TRANSPARENT 

UID:[email protected] 

X-MICROSOFT-CDO-BUSYSTATUS:FREE 

X-MICROSOFT-CDO-IMPORTANCE:1 

END:VEVENT 

BEGIN:VEVENT 

CATEGORIES:World Cup Football Complete Match Schedule 2010 South Africa 

CLASS:PUBLIC 

CREATED:20100608T231102Z 

DESCRIPTION:Group A\nFollow MarkThisDate on Twitter 

    markthisdate 

DTEND:20100611T201500Z 

DTSTAMP:20100513T100200Z 

DTSTART:20100611T183000Z 

LAST-MODIFIED:20100608T231102Z 

LOCATION:Cape Town 

PRIORITY:5 

SEQUENCE:0 

SUMMARY:Uruguay - France 

TRANSP:TRANSPARENT 

UID:[email protected] 

X-MICROSOFT-CDO-BUSYSTATUS:FREE 

X-MICROSOFT-CDO-IMPORTANCE:1 

END:VEVENT 

BEGIN:VEVENT 

CATEGORIES:World Cup Football Complete Match Schedule 2010 South Africa 

CLASS:PUBLIC 

CREATED:20100608T231102Z 

DESCRIPTION:Group B\nFollow MarkThisDate on Twitter 

    markthisdate 

DTEND:20100612T131500Z 

DTSTAMP:20100513T100200Z 

DTSTART:20100612T113000Z 

LAST-MODIFIED:20100608T231102Z 

LOCATION:Nelson Mandela Bay/Port Elizabeth 

PRIORITY:5 

SEQUENCE:0 

SUMMARY:Korea Republic - Greece 

TRANSP:TRANSPARENT 

UID:[email protected] 

X-MICROSOFT-CDO-BUSYSTATUS:FREE 

X-MICROSOFT-CDO-IMPORTANCE:1 

END:VEVENT 

END:VCALENDAR 
+0

Estoy interesado en verificar este método. Parece que puedes obtener más ejemplos en markthisdate.com (que es de donde parece venir la fuente de este ejemplo) aunque no estoy seguro si funcionará en Outlook o no (en una Mac ahora mismo) – cwd

+0

No, no es porque no se importe en el calendario actual . – jcaruso

1

Asegúrese de que está utilizando un UID único para cada VEVENT. Si utiliza el mismo UID para cada VEVENT, verá exactamente el comportamiento que está describiendo, ya que solo se procesan y agregan al mismo.

HTH.

1

Esto debería ser posible:/lo siguiente funciona con google y se carga bien en Entourage. Sin embargo, Outlook parece tener algunos problemas, seguirá buscando.

NOTA - Esto importa correctamente en Outlook cuando usa archivo> importar, etc., solo hace doble clic y hace que solo cargue el primer evento.

BEGIN:VCALENDAR 
PRODID:-//Google Inc//Google Calendar 70.9054//EN 
VERSION:2.0 
CALSCALE:GREGORIAN 
METHOD:PUBLISH 
X-WR-CALNAME:Insert something 
X-WR-TIMEZONE:Insert something 
X-WR-CALDESC: 

BEGIN:VEVENT 
DTSTART:20110909T180000Z 
DTEND:20110909T200000Z 
DTSTAMP:20110722T004312Z 
UID:[email protected] 
CREATED:20110721T105553Z 
DESCRIPTION: 
LAST-MODIFIED:20110721T105554Z 
LOCATION:Insert something 
SEQUENCE:0 
STATUS:CONFIRMED 
SUMMARY:Insert something 
TRANSP:OPAQUE 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:This is an event reminder 
TRIGGER:-P0DT0H10M0S 
END:VALARM 
END:VEVENT 

BEGIN:VEVENT 
DTSTART:20110909T083000Z 
DTEND:20110909T103000Z 
DTSTAMP:20110722T004312Z 
UID:[email protected] 
CREATED:20110721T105410Z 
DESCRIPTION: 
LAST-MODIFIED:20110721T111008Z 
LOCATION:Auckland 
SEQUENCE:1 
STATUS:CONFIRMED 
SUMMARY:Insert something 
TRANSP:OPAQUE 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:Insert something 
TRIGGER:-P0DT0H10M0S 
END:VALARM 
END:VEVENT 

END:VCALENDAR 
Cuestiones relacionadas