如何使用C#以编程方式向一位所需的与会者发送交换预约邀请?

时间:2015-10-29 16:39:42

标签: c# exchangewebservices

我只希望房间的电子邮件能够收到邀请,而不是其他必需的参与者。然而," Save()"方法似乎只发送到所有或没有类型的设置。有没有人有解决方案?

appointment.Subject = myAppointmentInfo.ClassName;
appointment.Body = "";
appointment.Start = myAppointmentInfo.StartDateTime;
appointment.End = myAppointmentInfo.EndDateTime;
appointment.Location = myAppointmentInfo.Location;
appointment.ReminderMinutesBeforeStart = 5;

appointment.RequiredAttendees.Add(employeeEmail1);
appointment.RequiredAttendees.Add(employeeEmail2);
appointment.RequiredAttendees.Add(roomEmail);

appointment.Save(SendInvitationsMode.SendToNone);

1 个答案:

答案 0 :(得分:0)

我现在有一个部分解决方案。我最终做的是:

var calendar = Folder.Bind(service, new FolderId(WellKnownFolderName.Calendar, roomEmail));
appointment.Save(calendar.Id, SendInvitationsMode.SendToNone);

它允许我只发送到roomEmail,但仍然有其他所需的与会者出现在所需的与会者列表中。

这解决了我最初的问题,但现在我需要学习如何为我的预约更新和删除做一些类似的事情(事实证明这更难)。如果您知道如何做这些事情,请告诉我!感谢

更新:我也发现了这个问题。要在不向与会者发送通知的情况下进行更新和删除,请使用:

appointment.Update(ConflictResolutionMode.AlwaysOverwrite, SendInvitationsOrCancellationsMode.SendToNone);

更新,并且:

appointment.Delete(DeleteMode.SoftDelete, SendCancellationsMode.SendToNone);

之前我最大的问题是我将DeleteMode类型设置为“MoveToDeletedItems”而不是“SoftDelete”。