使用Rails与Outlook约会进行交互
我有一个在Linux服务器上运行的Rails应用程序。我想与Rails应用程序中的Outlook / Exchange 2003约会进行交互。例如,某些操作应触发发送约会,然后最好在Outlook中接受/取消约会应触发应用程序中的事件。
如果失败,是否可以发布不需要Outlook插件即可读取Outlook 2003的日历?我注意到,例如,没有插件,Outlook 2003不支持ical。同样,如果这在Ruby中不容易实现,而是在Linux上运行的另一种语言(例如Perl)中,那么这些建议将受到欢迎。
我们将不胜感激地收到任何有关如何实现这一目标的建议,或者从何处开始寻找答案的建议。
解决方案
回答
Outlook约会只是带有特殊标题信息的电子邮件。本教程中有一些有关必需部分的信息。我从Outlook向我的Gmail帐户发送了一些会议邀请,并查看了原始标头,我们可以从中提取出大部分协议。
iCalendar规格也可能对我们有所帮助。
回答
看看github上的项目RExchange。
回答
要访问约会,只需使用WebDav访问Exchange上的Calendar文件夹即可。有关创建约会的详细信息,请参阅RFC2445.
回答
除了ceejayoz的评论,我们还可以使用ActionMailer来捕获发送回的回复,并对它们进行操作,我们将需要某种形式的唯一ID,但该位置将包含在回复中。
回答
谢谢大家的帮助。我发现了一些东西,向我展示了如何使用Perl进行此操作,并将其移植到了ruby。我已经为那些寻求解决方案的人写了博客
回答
如果可以升级到Exchange 2007,则可以使用比WebDAV更强大,更方便使用的Exchange Web服务。
在工作中,我继承了一个Rails应用程序,该应用程序允许用户创建单个约会。我被要求编写代码以将应用程序中的这些约会链接到用户的Outlook日历,以便它们始终保持同步。在我看来,这与我们要执行的操作非常相似。
我不认为我可以发布我编写的确切代码。无论如何,我会给我们一些有关如何解决它的想法。
Exchange Web服务仅提供C语言的API(毫不奇怪,它是Microsoft。从技术上讲,我们可以使用其他语言,因为它实际上是SOAP。)。我用C编写了一个中间件,用于在Exchange服务器和Rails应用程序之间进行同步。当用户在应用中进行计划时,更改将发送到中间件,以便更改可以反映到其Outlook日历中。同时,中间件为所有用户注册"推送通知"订阅-每次在Outlook中进行更改时,都会立即通知中间件,这又会忠实地反映应用程序中的那些更改。当然,也支持定期约会。
希望对我们有帮助。