【问题标题】:Does Windows, Outlook, or Exchange have an API for reading iCal format?Windows、Outlook 或 Exchange 是否有用于读取 iCal 格式的 API?
【发布时间】:2012-07-31 21:01:16
【问题描述】:

我正在尝试将 iCal 导入支持添加到需要支持 Windows XP、Vista 和 7 的现有调度应用程序中。编写 iCal 格式很容易,但阅读它是另一回事,主要是尝试将时间转换为当地时间使用复杂的 TIMEZONE/TZID/RRULE 语法。理想情况下,Windows 会为此提供本机 API,但我还没有找到。

我知道 Outlook 2007+ 有一个可以工作的 OpenSharedItem 函数。我不想要求用户安装 Outlook,因为我的应用程序与 Outlook“竞争”。我曾考虑编写一个 Web 服务,在我的 Web 服务器上使用 Outlook 来执行此操作,但我知道使用服务中的 Outlook OLE/COM 对象存在问题,因此这也可能不是一个选项。我确实拥有大约 300 个 Exchange Server 许可证,是否有任何带有 Exchange 的 API 可能会更好地工作?我确实注意到,当我从 GoToMeeting.com 通过电子邮件发送 iCal 文件时,他们说它们是使用“Microsoft CDO for Microsoft Exchange”创建的,所以我感觉他们这样做是为了避免自己编写格式。

我的应用程序是用 C++ 编写的,主要使用本机 Win32 API,但我不介意为此创建一个 .NET DLL,甚至要求用户能够访问 Internet,以便我可以将文件发布到我的 Web 服务器并拥有它返回我的应用可以轻松使用的转换格式。我的网络服务器虽然在 Windows 上运行,所以任何基于 Unix 的东西都可能很困难。除此之外,我对选择持开放态度。

更新:我确实找到了CDOEX,但由于我以前从未使用过它,谁能告诉我从哪里开始以及它是否真的可以满足我的需求?我在文档中并没有看到太多关于 iCal 的内容,而且我需要在我的开发 PC 上安装 Exchange(对此并不疯狂)才能开始使用这个 API。

【问题讨论】:

  • 您是否查看过这个开源项目:davmail.sourceforge.net 它可能是您的 Windows 应用程序和交换服务器之间接口的一个很好的起点,因为您已经拥有许可证。

标签: outlook exchange-server icalendar


【解决方案1】:

您可以尝试使用 Redemption - 它允许使用 RDOAppointmentItem.Import(..., olICal) 显式导入 iCal 文件。

【讨论】:

  • 对不起,我花了这么长时间才回复这个问题,但感谢您的回答,并感谢您多年来使用的所有有用实用程序(10 多年前购买的 Outlook Spy :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-12
  • 2012-12-16
  • 2015-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-15
相关资源
最近更新 更多