如何从其他用户获取链接的日历?

时间:2017-09-19 11:11:01

标签: delphi outlook exchange-server outlook-redemption

我尝试列出交换邮箱文件夹并遇到一个问题。

当我通过网络界面登录交换服务器时,我可以看到很多日历由其他同事共享给我。我也可以在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 个答案:

答案 0 :(得分:1)

共享文件夹存储在最终用户可见的IPM树之外的主邮箱OST文件中。 Redemption没有显式公开共享文件夹,但您应该能够通过RDOStore.RootFolder访问它们。您可以在OutlookSpy中看到它们 - 单击IMsgStore并深入查看相关文件夹(根文件夹\共享数据\等。)