我有一个在 Linux 服务器上运行的 Rails 应用程序。我想通过 Rails 应用程序与 Outlook/Exchange 2003 约会进行交互。例如,某些操作应触发发送约会,然后最好在 Outlook 中接受/取消约会应触发应用程序中的事件。

如果做不到这一点,是否可以发布 Outlook 2003 无需 Outlook 插件即可读取的日历?我注意到,例如,Outlook 2003 不支持没有插件的 ical。同样,如果这在 Ruby 中不容易实现,但可以在 Linux 上运行的另一种语言(例如 Perl)中实现,那么这些建议将受到欢迎。

任何关于如何实现这一目标或从哪里开始寻找答案的建议将不胜感激。

有帮助吗?

解决方案

Outlook 约会只是带有特殊标题信息的电子邮件。有一些信息在 本教程 在所需的零件上。我从 Outlook 向 Gmail 帐户发送了一些会议邀请,并查看了那里的原始标头 - 您可以从中找出大部分协议。

iCalendar 规格 也可能对你有帮助。

其他提示

感谢大家的帮助。我找到了一些东西,向我展示了如何使用 Perl 执行此操作,并将其移植到 ruby​​。我有 在博客上谈论了它 对于那些寻找解决方案的人

如果您可以升级到Exchange 2007,您就可以使用比WebDAV 功能更强大、使用更方便的Exchange Web Services。

在工作中,我继承了一个 Rails 应用程序,该应用程序允许用户创建单个约会。我被要求编写代码以将应用程序中的这些约会链接到用户的 Outlook 日历,以便它们始终保持同步。在我看来,这与你想做的事情非常相似。

我认为我不被允许发布我编写的确切代码。不管怎样,我会给你一些关于我是如何解决这个问题的想法。

Exchange Web Services 仅提供 C# 中的 API(毫不奇怪,它是 Microsoft.从技术上讲,您可以使用其他语言,因为它实际上是 SOAP。)。我用 C# 编写了一个中间件,用于在 Exchange 服务器和 Rails 应用程序之间进行同步。当用户在应用程序中进行安排时,更改将发送到中间件,以便更改可以反映到他们的 Outlook 日历中。同时,中间件为所有用户注册推送通知订阅 - 每次 Outlook 中发生更改时,中间件都会立即收到通知,从而忠实地反映应用程序中的这些更改。当然,也支持定期预约。

希望对您有帮助。

看看项目 R交换 在 github 上。

要访问约会,您只需使用 WebDav 访问 Exchange 上的日历文件夹即可。有关创建约会的详细信息,请参阅 RFC2445。

除了 ceejayoz 的评论之外,您还可以使用 ActionMailer 捕获发回的回复,并对它们采取行动 - 您将需要某种形式的唯一 id 来包含在回复中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top