как получить связанные календари от других пользователей?

Я пытаюсь составить список папок почтового ящика 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;

person mad    schedule 19.09.2017    source источник


Ответы (1)


Общие папки хранятся в OST-файле основного почтового ящика за пределами дерева IPM, видимого конечному пользователю. Redemption не раскрывает явно общие папки, но вы сможете получить к ним доступ через RDOStore.RootFolder. Вы можете увидеть их в OutlookSpy - щелкните IMsgStore и перейдите к нужной папке (корневая папка \ Shared Data \ и т. Д.)

person Dmitry Streblechenko    schedule 19.09.2017