2016-09-02 2 views
1

Google 애플리케이션을 MAPI에서 EWS Managed API로 마이그레이션하고 있습니다. MAPI에서는 IMAPIFolder :: CreateFolder라는 단일 MAPI 메서드를 사용하여 새 폴더를 만들거나 열 수 있습니다.EWS 관리 API를 사용하여 폴더를 만들거나 열 경우

하지만 EWS에서 이러한 기능을 찾을 수 없습니다. 이

var filter = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "name"); 
service.FindFolders(WellKnownFolderName.Root, filter, new FolderView(1)); 

즉처럼

var newFolder = new Folder(service); 
newFolder.DisplayName = "name"; 
newFolder.Save(WellKnownFolderName.Root); 

을 열거 나 (찾기) : 이 같은 폴더를 만들 수 있습니다 (그러나 같은 폴더가 이미 대상 폴더에있는 경우는 예외를 throw) 이 예외를 catch하고 ExchangeService.FindFolders 메서드를 사용하여 폴더를 찾아야합니다. 이 모든 것이 매우 이상하게 보입니다. 그리고 최악의 경우는 이러한 경우에 두 EWS 통화를 사용해야하는 것입니다.

"CreateOrOpen"기능을 사용하려면 단일 EWS 통화를 사용할 수 있습니까? 어쩌면 EWS 요청을 수동으로 만들거나?

답변

0

조차도 모든 작업에서 EWS 서비스 호출을해야합니다. 둘 다 (Create & 열기) 기능을 수행하는 EWS 서비스 메소드를 찾지 못했습니다. 그래서 나는 공연과 함께 여러 통화를 아래와 같이 구성했다.

bool isExists = ews.FolderExists(EwsFolderId.Root, "name"); 
if (!isExists){ 
    ews.CreateFolder(EwsFolderId.Root, "name"); 
}else{ 
    //Find folder or get folder code goes here 
    } 
관련 문제