2012-02-09 25 views
6

Estoy trabajando en la función "Agregar al Calendario" de mi webpart de Sharepoint (creado usando VS2010).Importar ICal crea un nuevo calendario Cuando abra el archivo ics

He exportado el archivo ICS programáticamente sin problemas.

Pero el problema es cuando intento abrir el archivo ICS desde OUTLOOK.

Si el archivo ICS tiene una cita única, no hay problemas ....

Si el archivo ICS tiene varias citas, el problema viene ...

Cuando me presento >> >> Abrir importación >> Elegir archivo ICS, que funciona bien

Pero si trato de hacer doble clic en el archivo ICS, se crea un nuevo calendario en lugar de actualizar mi calendario predeterminado existente

... ¿Alguna sugerencia?

Respuesta

3

Consulte this SO post que sugiere que Outlook solo admitirá varios eventos utilizando ICS como feed or subscription, no directamente como una única importación de ICS.

+0

gracias sliverninja, lo que significa que no podemos conseguir esta funcionalidad ??? – user1199808

+0

Debe implementar las soluciones alternativas: realice una secuencia de comandos de cada evento de calendario en archivos ICS separados o utilice una fuente de suscripción ICS. Esta es una limitación del soporte de Outlook para ICS con múltiples eventos. – SliverNinja

+0

¿me puede dar un ejemplo? Estoy usando la respuesta del encabezado http para exportar el archivo ics. admite importar el archivo solo una vez ... HEre es mi código de muestra ... vacío privado WriteCalendar (datos de cadena) { HttpResponse resp = Page.Response; res.Clear(); res.Buffer = verdadero; res.ContentType = "text/calendar"; res.ContentEncoding = Encoding.UTF8; res.Charset = "utf-8"; res.AddHeader ("Content-Disposition", "attachment; filename = \" Events.ics \ ""); res.Write (datos); res.End(); } – user1199808

14

Tuvimos un problema similar y descubrimos que si el archivo ICS tenía el campo X-WR-CALNAME, incluso si estaba en blanco, Outlook crearía automáticamente un nuevo calendario. Si NO tenía este campo, Outlook lo importó.

+0

¡Este es un excelente comentario! – whitehat101

+2

exactamente lo que necesitaba.Eliminar X-WR-CALNAME hizo que esto funcionara para mí. – brianm

+0

Exactamente cuál era nuestro problema también. – Aravona

3

Tuve el mismo problema. Al hacer clic en una perspectiva del archivo .ics, se crea un nuevo calendario en lugar de actualizar un calendario existente.

He resuelto esto añadiendo este descriptor en el archivo .ics:

X-WR-RELCALID:XXXXXX 

donde XXXXXX es un valor único para el calendario. Outlook le pedirá que reemplace el calendario, en lugar de agregar uno nuevo.

El descriptor se encontró en http://en.wikipedia.org/wiki/ICalendar

+0

X-WR-RELCALID: XXXXXX: esta debería ser la respuesta a la pregunta (y algunas otras relacionadas). Al agregar esta línea a mi 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 y el calendario se actualizará. Tenga en cuenta que 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. –

+0

¿dónde puedo encontrar la identificación del calendario para reemplazar XXXXXX? tnx – masciugo

Cuestiones relacionadas