2017-09-19 6 views
0

Exchange 사서함 폴더를 나열하려고하는데 한 가지 문제가 있습니다.다른 사용자로부터 연결된 캘린더를받는 방법?

웹 인터페이스를 통해 Exchange 서버에 로그온하면 다른 동료가 나와 공유 한 많은 캘린더를 볼 수 있습니다. 또한 내 Outlook에서 이러한 일정을 볼 수 있습니다.

아래 코드를 사용하면 내 소유 한 모든 개체 (내 계정 소유)를 볼 수 있지만 이러한 공유 일정은 볼 수 없습니다.

이 캘린더에 액세스하려면 해결책이 있습니까? 그들은 나와 공유되며, 내 Outlook에서 약속을 만들 수 있습니다.

Session := CreateOleObject('Redemption.RDOSession') as IRDOSession; 
Session.LogonExchangeMailbox(edit1.Text, edit2.Text); 

Memo1.Lines.Add(Session.Stores.FindExchangePublicFoldersStore.Name); 
for i := 1 to Session.Stores.count do 
begin 
    Store := Session.Stores.Item(i, True); 
    Memo1.Lines.Add('=> ' + Store.Name + ' : ' + IntToStr(Store.StoreKind)); 
    if Store.StoreKind <> 0 then 
    begin 
    for j := 1 to Store.IPMRootFolder.Folders.Count do 
    begin 
     Folder := Store.IPMRootFolder.Folders.Item(j); 
     Memo1.Lines.Add('==> ' + Folder.Name); 
     for k := 1 to Folder.Folders.Count do 
     Memo1.Lines.Add('==> ' + Folder.Folders[k].Name); 
    end; 
    end; 
end; 

답변

1

공유 폴더는 최종 사용자에게 표시되는 IPM 트리 외부의 기본 사서함 OST 파일에 저장됩니다. Redemption은 명시 적으로 공유 폴더를 노출하지 않지만 RDOStore.RootFolder를 통해 액세스 할 수 있어야합니다. OutlookSpy에서 볼 수 있습니다. IMsgStore를 클릭하고 문제의 폴더 (루트 폴더 \ 공유 데이터 \ 등)로 이동하십시오.