2008-09-17 46 views
14

我在Linux服務器上運行rails應用程序。我想與rails應用程序中的Outlook/Exchange 2003約會進行交互。例如,某些操作應觸發發送約會,然後最好在Outlook中接受/取消約會應觸發應用程序中的事件。使用rails與Outlook約會進行交互

如果這樣做失敗,是否可以發佈Outlook 2003可以在不需要Outlook插件的情況下閱讀的日曆?我注意到,例如,Outlook 2003不支持插件。同樣,如果這在Ruby中不容易實現,但是在Linux上運行的另一種語言(例如Perl),那麼這些建議將受到歡迎。

任何有關如何實現這一目標的建議,或者從哪裏開始尋找答案都會非常感激。

回答

10

展望預約只是包含特殊標題信息的電子郵件。有關於所需部件this tutorial的一些信息。我從Outlook中向我的Gmail帳戶發送了一些會議邀請,並查看了原始標題 - 您可以從中瞭解大部分協議。

iCalendar specs也可以幫助您。

0

對於訪問約會,您可以使用WebDav訪問Exchange上的日曆文件夾。有關創建約會的詳細信息,請參閱RFC2445。

0

除了ceejayoz的評論之外,您還可以使用ActionMailer來捕獲發回的回覆,並對它們採取行動 - 您將需要某種形式的唯一ID,但將包含在回覆中。

4

感謝大家的幫助。我發現了一些向我展示瞭如何使用Perl做到這一點,並將其移植到ruby。我爲blogged about it尋找解決方案的人

1

如果您可以升級到Exchange 2007,則可以使用比WebDAV更強大和更方便使用的Exchange Web服務。

在工作中,我繼承了一個允許用戶創建單個約會的Rails應用程序。我被要求編寫代碼將應用程序中的這些約會鏈接到用戶的Outlook日曆,以便它們始終保持同步。聽起來和你想要做的非常相似。

我不認爲我可以發佈我寫的確切代碼。無論如何,我會給你一些關於我如何解決它的想法。 (不奇怪,它是微軟的,從技術上講,你可以使用其他語言,因爲它實際上是SOAP)。我在C#中編寫了一箇中間件,用於在Exchange服務器和Rails應用程序之間進行同步。當用戶在應用程序中進行安排時,更改將發送到中間件,以便將更改反映到他們的Outlook日曆中。同時,中間件爲所有用戶註冊推送通知訂閱 - 每次在Outlook中進行更改時,都會立即通知中間件,這反過來也忠實地反映了應用程序中的這些更改。當然,也支持重複約會。

希望能幫助你。