Compartir a través de


Calendarios y EWS en Exchange

Obtenga información sobre calendarios, carpetas de calendario y elementos, citas y reuniones en Exchange.

Probablemente esté familiarizado con muchas de las características del calendario en clientes de correo electrónico como Outlook, que le permiten realizar un seguimiento de las citas, programar reuniones, comprobar la disponibilidad de las personas, invitar a los asistentes y cambiar o cancelar reuniones.

Las características relacionadas con el calendario en Exchange son un poco diferentes de lo que se ve en un cliente como Outlook. En lugar de mostrar información, EWS en Exchange permite hacer cosas como crear, almacenar, enviar o cambiar información. Para usar EWS para trabajar con calendarios, deberá estar familiarizado con conceptos como el almacenamiento de información, el tiempo, la periodicidad y el flujo de mensajes. Más específicamente, tendrá que estar familiarizado con lo siguiente:

  • Carpetas de calendario, elementos de calendario y vistas de calendario

  • Convocatorias de reuniones, respuestas, programación, asistentes, recursos, salas y disponibilidad

  • Duración de la hora, zonas horarias y horas de inicio y finalización de reuniones y citas

  • Series periódicas, patrones de periodicidad, excepciones y reuniones de una sola instancia

Afortunadamente, EWS y la API administrada de EWS proporcionan un amplio conjunto de operaciones y métodos que permiten realizar una amplia gama de tareas relacionadas con el calendario. Por ejemplo, con la API administrada de EWS, puede crear una reunión y enviar invitaciones a los asistentes con solo unas pocas líneas de código, como se muestra en el ejemplo siguiente.

            Appointment meeting = new Appointment(service);
            // Set the properties on the meeting object to create the meeting.
            meeting.Subject = "Team building exercise";
            meeting.Body = "Let's learn to really work as a team and then have lunch!";
            meeting.Start = DateTime.Now.AddDays(2);
            meeting.End = meeting.Start.AddHours(2);
            meeting.Location = "Conference Room 12";
            meeting.RequiredAttendees.Add("Mack.Chaves@contoso.com");
            meeting.RequiredAttendees.Add("Sadie.Daniels@contoso.com");
            meeting.OptionalAttendees.Add("Magdalena.Kemp@contoso.com");
            meeting.ReminderMinutesBeforeStart = 60;
            // Send the meeting request
            meeting.Save(SendInvitationsMode.SendToAllAndSaveCopy);

Carpetas de calendario y elementos de calendario

Las carpetas de calendario contienen elementos de calendario. Las carpetas de calendario tienen una clase de carpeta de IPF. Appointment y solo puede incluir los elementos definidos por la propiedad Api administrada de EWS ItemClass , que está asociada a un objeto Appointment Class , o el elemento CalendarItemType de EWS.

Los elementos de una carpeta Calendar son un poco diferentes de los elementos de otras carpetas de un buzón porque las repeticiones en una serie periódica y las excepciones a una serie periódica no son elementos reales en el buzón, sino que se almacenan internamente como datos adjuntos a un patrón periódico. Por lo tanto, para recuperar todas las citas de un intervalo de fechas determinado, debe usar una vista de calendario. Para obtener más información sobre cómo recuperar citas y vistas de calendario, vea Obtener citas y reuniones mediante EWS en Exchange.

Reuniones y citas

La diferencia esencial entre las reuniones y las citas es que las reuniones tienen asistentes y las citas no. Internamente, Exchange usa el mismo objeto para reuniones y citas. Se usa la API administrada de EWS Clase de cita o el elemento de EWS CalendarItem para trabajar con reuniones y citas.

Tanto las citas como las reuniones pueden ser instancias únicas o parte de una serie periódica, pero como las citas no incluyen asistentes, salas o recursos, no requieren que se envíe un mensaje.

Dado que las reuniones incluyen el envío y la respuesta a solicitudes y actualizaciones, implican algo más que simplemente acceder a elementos de una carpeta Calendario. También tienen un flujo de trabajo asociado. Las reuniones deben programarse cuando los asistentes están disponibles y también pueden implicar la reserva de una sala de reuniones o recursos como un proyector u otro equipo.

El flujo de trabajo de reunión suele implicar los pasos siguientes:

  1. Se crea una reunión y se rellena con información como la hora de inicio y finalización, la ubicación y un cuerpo del mensaje.
  2. Se crea una lista de posibles asistentes, recursos y salas.
  3. Se comprueba el estado de disponibilidad de los asistentes.
  4. Se envía una solicitud de reunión a los asistentes.
  5. Los asistentes responden a la reunión con su intención de asistir o no. Los asistentes también pueden proponer una nueva hora para la reunión.
  6. Las reuniones se pueden cancelar o actualizar, lo que normalmente desencadena nuevos mensajes que se enviarán a los asistentes.

Calendarios y hora

La funcionalidad relacionada con el tiempo es integral para el calendario. Las citas y reuniones tienen horas de inicio y finalización, duraciones y otras propiedades relacionadas con el tiempo, como la hora a la que se crea, envía y recibe un mensaje. Las citas y reuniones existentes se pueden recuperar de una carpeta Calendario en función de la hora de inicio y finalización. Las series periódicas tienen comienzos y extremos. Y las reuniones se producen dentro de una zona horaria determinada, que es cada vez más importante en una economía global.

Las horas se almacenan internamente en un servidor exchange en la hora universal coordinada (UTC). Exchange los convierte en zona horaria local en función de la configuración del cliente. Las propiedades DateTime se limitan a la zona horaria local del equipo.

Serie periódica

Una serie periódica de citas o reuniones se compone de un patrón periódico, un conjunto de elementos de repetición y, opcionalmente, un conjunto de elementos de excepción. La información de periodicidad se almacena en el elemento maestro periódico. El elemento EWS RecurringMasterItemId está asociado a repeticiones y excepciones en una serie, o bien puede usar el método Appointment.BindToRecurringMaster EWS Managed API para obtener el patrón periódico. Con una instancia de una serie, puede encontrar todos los elementos e información asociados a la serie.

Tenga en cuenta que las propiedades de periodicidad existen en todos los elementos de calendario, pero solo se rellenan en elementos maestros periódicos. Además de un índice de todas las repeticiones de una serie, el patrón periódico tiene una referencia a las repeticiones modificadas y eliminadas y al patrón de periodicidad de una serie (por ejemplo, diaria, semanal, mensual o anual).

En esta sección

Vea también