El uso de sistemas de alerta temprana API administrada para crear citas para otros usuarios?
-
19-09-2019 - |
Pregunta
En EWS API administrada es que sea fácil crear una cita para un usuario específico:
ExchangeService service = new ExchangeService();
service.Credentials = new NetworkCredentials ( "administrator", "password", "domain" );
service.AutodiscoverUrl(emailAddress);
Appointment appointment = new Appointment(service);
appointment.Subject = "Testing";
appointment.Start = DateTime.Now;
appointment.End = appointment.Start.AddHours(1);
appointment.Save();
Esto creará una cita para el administrador. Pero decir que quería crear en realidad una cita para otro usuario (no añadir ese usuario como un asistente me cita). Es esto posible a través de la API de EWS Managed?
Solución 3
he descubierto de este artículo: http://msdn.microsoft.com/en-us/ biblioteca / dd633680 (EXCHG.80) .aspx
Se debe utilizar el atributo service.ImpersonatedUserId
.
Otros consejos
Folder inboxFolder = Folder.Bind(service, new FolderId(WellKnownFolderName.Inbox, "user1@example.com"));
también funcionará. A continuación, pasar a la llamada inboxFolder.id Appointment.Save. Las actualizaciones y eliminaciones no necesitan esto. La mejor respuesta es el uso de suplantar, pero esto requiere que esté habilitado por los administradores del servidor. Si no ejercer ese poder, este método le permitirá hacer lo que necesita. Nota: el usuario que ejecuta la aplicación debe tener permisos en la cuenta de destino o se producirá un error (como debería).
Encontrados aquí: http://msdn.microsoft.com/en -US / library / gg274408 (v = EXCHG.80) .aspx
Sé que esto ha sido contestada pero en respuesta a @ comentarios de Aamir Esto se puede hacer utilizando los delegados que acabo de hacer para un proyecto que estoy trabajando.
Como @ Matt sugirió en su respuesta que puede modificar el método de la cita guardar para que apunte a la carpeta de otros usuarios que en este caso sería Calendario.
Código se vería de la siguiente manera
Appointment appointment = new Appointment(service);
appointment.Subject = "Testing";
appointment.Start = DateTime.Now;
appointment.End = appointment.Start.AddHours(1);
appointment.Save(new FolderId(WellKnownFolderName.Calendar, new Mailbox(_EmailAddress)));
Espero que ayude