C#EWS删除约会不起作用

时间:2014-05-02 13:33:50

标签: c# exchangewebservices

我想通过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则可以使用。

1 个答案:

答案 0 :(得分:7)

要使用DeleteMode.MoveToDeletedItems,除了可以访问Calendar文件夹外,还需要对DeletedItems文件夹的写访问权限。如果您不想将文件夹权限添加到“已删除邮件”文件夹,则可以使用DeleteMode.HardDelete或DeleteMode.SoftDelete。