Использование управляемого API EWS для создания встреч для других пользователей?

в управляемом API EWS легко создать встречу для конкретного пользователя:

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();

Это создаст встречу для администратора. Но, скажем, я хотел фактически создать встречу для другого пользователя (не добавлять этого пользователя в качестве участника ко мне). Это возможно через управляемый API EWS?

3 ответов


Folder inboxFolder = Folder.Bind(service, new FolderId(WellKnownFolderName.Inbox, "user1@example.com"));

тоже будет работать. Затем пройти inboxFolder.идентификатор назначения.Сохранить вызов. Обновления и удаления не нуждаются в этом. Лучший ответ - использовать олицетворение, но для этого требуется, чтобы оно было включено администраторами сервера. Если вы не обладаете такой силой, этот метод позволит вам делать то, что вам нужно. Примечание: пользователь, запускающий приложение должно иметь разрешения на целевом счете или это не удастся (как надо).

найти здесь: http://msdn.microsoft.com/en-us/library/gg274408 (v=EXCHG.80).aspx


Я знаю, что на это был дан ответ, но в ответ на комментарий @Aamir вы можете сделать это, используя делегатов, я только что сделал это для проекта, над которым я работаю.

как предложил @matt в своем ответе, вы можете изменить метод сохранения встречи, чтобы указать на другую папку пользователей, которая в этом случае будет календарем.

код будет выглядеть следующим образом

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)));

надеюсь, что это поможет


Я понял из этой статьи: http://msdn.microsoft.com/en-us/library/dd633680 (EXCHG.80).aspx

вы должны использовать .