2013-06-22 4 views
1

동일한 되풀이 약속으로 만든 동일한 계정으로 되풀이 발생을 취소하려고합니다. 이 오류를 받고 있어요 : EWS : 되풀이 일정 취소

User must be an organizer for CancelCalendarItem action 

나는 약속의 속성을 확인

, 나는 주최자가 서비스가 사용하는 것과 동일한 SMTP 주소가 있는지 찾을 수 있습니다. 오류는 이해가되지 않습니다.

회의를 취소하려면 자원 (회의실) 전자 메일을 가장해야합니까?

일련의 약속 중 한 번만 취소하려고합니다. 예약 코드 :

Appointment appointment = new Appointment(service); 

      appointment.Subject = Subject; 
      appointment.Body = Body; 
      appointment.Start = Start; 

      foreach (DataRow room in Rooms.Rows) 
      { 
       appointment.Resources.Add(room["Email"].ToString()); 
      } 
if (Recurring) 
      { 
       DayOfTheWeek[] days = new DayOfTheWeek[] { (DayOfTheWeek)Start.DayOfWeek }; 
       appointment.Recurrence = new Recurrence.WeeklyPattern(Start.Date, 1, days); 
       appointment.Recurrence.StartDate = Start; 
       appointment.Recurrence.NumberOfOccurrences = RecurringOccurances; 
      } 
appointment.Save(SendInvitationsMode.SendToAllAndSaveCopy); 

얻기 되풀이 약속 :

Appointment appointment = Appointment.Bind(service, new ItemId(EWSID)); 
appointment.CancelMeeting(); 

내가 "사용자가해야 얻을 :

public static DataTable GetRecurringItems(String ID) 
     {  
      Appointment recurringMasterItem = Appointment.BindToRecurringMaster(service, new ItemId(ID)); 
      DataTable RecurringAppoitnments = new DataTable(); 
      int Occs = recurringMasterItem.Recurrence.NumberOfOccurrences.Value; 
      for (int i = 1; i <= Occs; i++) 
      { 
       Appointment occurrenceOrException2 = Appointment.BindToOccurrence(service, new ItemId(recurringMasterItem.Id.UniqueId), i); 
       RecurringAppoitnments.Rows.Add(occurrenceOrException2); 

      } 

      return RecurringAppoitnments; 
     } 

는 // 그런 다음 나는 위를 취소 반복 발생 하나를 선택 위의 모든 작업이 동일한 사용자/계정을 사용하여 생성되었지만 모임 취소를 시도 할 때 "CancelCalendarItem 작업 주최자"로 변경되었습니다.

+0

몇 가지 코드를 보여주십시오. '반복 발생 취소'란 무엇입니까? 반복 이벤트 발생을 한 번 삭제하려고합니까? –

+0

@JanDoggen : 메모 주셔서 감사합니다. 방금 질문을 업데이트했습니다. – Morano88

답변

0

사용자를 가장하여 모임 취소를 시도하십시오. 또한 ID에이 작업을 수행 할 충분한 권한이 있는지 확인하십시오.

관련 문제