2010-11-19 13 views
6

Estoy intentando jugar con Exchange para integrar un sistema de reserva de salas con él.Servicios web de Exchange: crea una cita con el recurso pero los asistentes no pueden ver el recurso

He creado un buzón de sala y lo he configurado para que acepte automáticamente las solicitudes de cita.

Al crear una cita como usuario estándar, puedo agregar la sala como recurso y se mostrará su disponibilidad. Si lo reservo, entonces se registra con éxito.

He creado una cita a través de los servicios web de Exchange con sala como recurso. El recurso se reservó con éxito (como se confirmó al abrirlo como delegado de la sala) pero no aparece en la reunión como lo ve cualquiera de los asistentes.

 var service = new ExchangeService(ExchangeVersion.Exchange2007_SP1) { 
      Credentials = 
       new NetworkCredential("username", "password", "domain"), 
      Url = new Uri("https://myexchangeserver.co.uk/EWS/Exchange.asmx") 
     }; 

     var appointment = new Appointment(service) 
           { 
            Subject = "Created by ExchangeTest app", 
            Body = "Some body text....", 
            Start = startTime, 
            End = endTime 
           }; 
     appointment.RequiredAttendees.Add("[email protected]"); 
     appointment.Resources.Add("[email protected]"); 
     appointment.Save(SendInvitationsMode.SendOnlyToAll); 

¿Alguna idea de por qué no se muestra como lo haría si la hubiera reservado manualmente?

Como nota al margen, en realidad no puedo ver el calendario de esta sala como un usuario que no sea un delegado; dice que la carpeta no se puede encontrar.

Respuesta

0

Tal vez podría tratar de crear manualmente la reunión y luego vincularla. Al hacerlo, debería poder explorar el objeto y comprobar cuáles son las diferencias con el suyo.

var appointment = Appointment.Bind(service, new ItemId("yourmeetingid")); 
1

No estoy totalmente seguro de su problema principal.

Sobre la nota sin embargo:

Ha intentado buscar sus citas?

FolderId folder = new FolderId(WellknownFolderName.Calendar,"[email protected]"); 
CalendarView calendarView = new CalendarView(startDate, endDate); 

foreach (Appointment exchangeAppointment in service.FindAppointments(folder, calendarView)) 
{ 
    // Here you should be able to get access on the appointments at the specified folder & address 
} 
Cuestiones relacionadas