我想通过Appointments
删除EWS
,但它不起作用。我有以下代码:
private void deleteAppointment(object obj)
{
ServicePointManager.ServerCertificateValidationCallback = CertificateValidationCallBack;
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
service.Credentials = new WebCredentials(CredentialCache.DefaultNetworkCredentials);
service.AutodiscoverUrl("user@place.com", RedirectionUrlValidationCallback);
ItemId ii = (ItemId)obj;
Appointment a = Appointment.Bind(service, ii);
try
{
a.Delete(DeleteMode.MoveToDeletedItems);
}
catch (ServiceResponseException ex)
{
MessageBox.Show(ex.Message);
}
}
登录计算机的用户(我)是user
地址中日历的所有者。但是,如果我尝试删除Appointment
Exception
是"对象无法删除"。 ItemId
是正确的。如果我将user
地址用作Credentials
则可以使用。
答案 0 :(得分:7)
要使用DeleteMode.MoveToDeletedItems,除了可以访问Calendar文件夹外,还需要对DeletedItems文件夹的写访问权限。如果您不想将文件夹权限添加到“已删除邮件”文件夹,则可以使用DeleteMode.HardDelete或DeleteMode.SoftDelete。