使用rails与Outlook约会交互

时间:2008-09-17 13:47:28

标签: ruby-on-rails ruby outlook exchange-server

我在Linux服务器上运行了一个rails应用程序。我想与rails应用程序中的Outlook / Exchange 2003约会进行交互。例如,某些操作应该触发发送约会,然后优选地接受/取消Outlook中的约会应该触发应用程序中的事件。

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

任何关于如何实现这一目标的建议,或者在哪里开始寻找答案都将非常感激。

6 个答案:

答案 0 :(得分:10)

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

iCalendar specs也可以为您提供帮助。

答案 1 :(得分:4)

感谢大家的帮助。我找到了一些东西,告诉我如何用Perl做到这一点,并把它移植到ruby。对于那些寻找解决方案的人,我blogged about it

答案 2 :(得分:1)

在github上查看项目RExchange

答案 3 :(得分:1)

如果可以升级到Exchange 2007,则可以使用比WebDAV更强大,更方便的Exchange Web服务。

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

我认为我不允许发布我写的确切代码。无论如何,我会告诉你我是如何解决它的。

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

希望对你有所帮助。

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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