2014-10-02 5 views
3

EWS Managed API 2.0을 사용하고 있습니다. 나는 앞으로 약속의 주제와 교환하여 달력을 검색 할 수 있기를 원합니다.EWS 검색 주제별 검색 약속

주의 사항이 있습니다 :

  1. 단지 내가 CalendarView 약속을 반환받을 수있는 대상 = "테스트"
  2. 은 다음 구십일

에서 미래의 약속을 반환 일치하는 미래의 약속을 반환 앞으로 90 일 동안, 그러나 SearchFilter를 사용하여 필터링하는 방법을 알아낼 수는 없습니다. 최상의 성능을 위해 모든 약속을 반환하지 않은 다음 필터링합니다.

ItemView와 SearchFilter를 사용하여 제목으로 약속을 필터링 할 수 있습니다. 그러나 이미 발생 된 약속은 걸러지지 않습니다. 필터와 일치하는 모든 것을 반환합니다.

SearchFilter에서 CalendarView를 사용할 수 있으면 좋지만 "일정 및 정렬 순서를 CalendarView에 지정할 수 없습니다."라는 오류 메시지가 나타납니다.

FindItemsResults<Item> findResults = svc().FindItems(fId, filter, cView); 

도움이 될 것입니다 ... 감사합니다! 내가 그것을 알아 냈

답변

2

....

복합 검색 필터를 사용하여 당신이 반복 시리즈의 발생을받지 않습니다 때, 조심 그래서

 SearchFilter.SearchFilterCollection coll = new SearchFilter.SearchFilterCollection(LogicalOperator.And);    
     SearchFilter subjectFilter = new SearchFilter.ContainsSubstring(AppointmentSchema.Subject, "test"); 
     SearchFilter dateFilter = new SearchFilter.IsGreaterThanOrEqualTo(AppointmentSchema.Start, DateTime.Today); 
     coll.Add(subjectFilter); 
     coll.Add(dateFilter); 

     FindItemsResults<Item> findResults = svc().FindItems(fId, coll, view); 
1

처럼, 복합 검색 필터를 사용하는 경우 마스터 요소 지정된 시간 범위를 벗어났습니다.

반복되는 시리즈의 발생 (및 예외)은 사서함의 실제 항목이 아니며 되풀이 마스터에 대한 첨부 파일로 내부적으로 저장되기 때문입니다. ExchangeService.FindItems 메서드는 모든 일정 항목의 첨부 테이블을 조사하지 않고 발생 및 예외를 찾습니다. (출처 : http://msdn.microsoft.com/en-us/library/office/dn495614(v=exchg.150).aspx#bk_recurring)는 반복 이벤트 당신이있어 (IMHO)를 CalendarView과 CalendarFolder.FindAppointments 되풀이 약속에 대한 재발 확장을 수행 방법을 사용하여 더 잘 상대하고 그래서 경우

.

단점은 검색 필터를 지원하지 않는다는 것입니다. 따라서 피사체를 별도로 필터링해야합니다.

누구에게 더 좋은 해결책이 있습니까? 어떤 도움이라도 대단히 감사하겠습니다. 감사.

관련 문제