2014-03-13 5 views
0

EWS 2.0을 사용하여 삭제 된 약속을 복원하는 방법은 무엇입니까? WellKnownFolderName.RecoverableItemsDeletions 폴더에서 검색 할 수 있다고 생각합니다. 하지만 내가 가진 것은 모두 ItemId입니다. 그리고 슬프게도 SearchFilter에서 사용할 수 없습니다. ...삭제 된 약속을 복원하는 방법

가장 좋은 방법은 무엇입니까?

내 시도 :

ItemView view = new ItemView(10); 

SearchFilter searchFilter = new SearchFilter.IsEqualTo(ItemSchema.Id, itemChange.ItemId); 

var findResults = exchangeService.FindItems(WellKnownFolderName.RecoverableItemsDeletions, searchFilter, view); 

List<ItemId> ids = null; 
foreach (var findResult in findResults) 
{ 
    Debug.WriteLine(findResult.Id.ToString()); 
    ids.Add(findResult.Id); 
} 
exchangeService.MoveItems(ids, WellKnownFolderName.Calendar); 

오류가 발생합니다

가 { ". 유형의 값 '항목 ID'검색 필터에서 비교 값으로 사용할 수 없습니다"}

답변

1

약속을 검색 할 때 WellKnownFolderName을 DeletedItem으로 설정하십시오. 그리고 DeletedItems 폴더는 찾고있는 약속 이외의 것을 보유 할 수 있기 때문에 약속을 반환하도록 검색 필터를 설정해야합니다. 여기에 당신을 위해 일해야 할 예제가 있습니다.

ItemView view = new ItemView(10); 
// Only look for appointments 
SearchFilter searchFilter = new SearchFilter.IsEqualTo(ItemSchema.ItemClass, "IPM.Appointment"); 
// Look for items in the DeletedItems folder 
FindItemsResults<Item> results = service.FindItems(WellKnownFolderName.DeletedItems, searchFilter, view); 
// Move each of the deleted items back to the calendar 
List<ItemId> ItemsToMove = new List<ItemId>(); 
foreach (Item item in results) 
{ 
    ItemsToMove.Add(item.Id); 
} 
service.MoveItems(ItemsToMove, WellKnownFolderName.Calendar); 
관련 문제