2011-07-05 61 views
9

我需要使用CalDAV從Ruby(Rails精確)應用程序在日曆服務器上創建事件。我看了一些不同的圖書館並做了一些Google搜索。如何從Ruby與CalDAV服務器交互?

我看着RI-CAL(http://ri-cal.rubyforge.org/rdoc/),但不是肯定的,如果它支持發送數據TOA服務器或者,如果我必須這樣做我自己,

這看起來前途無量http://www.local-guru.net/blog/pages/rubycaldav,但它說,這是阿爾法的軟件,我需要穩定的東西。

這樣做的最好方法是什麼?是否有任何圖書館已經這樣做,我是否需要形成我自己的HTTP請求?

任何關於這個問題的建議是appreceated

回答

8

我結束了使用該庫在http://www.local-guru.net/blog/pages/rubycaldav

我不得不去適應它使用SSL,並正確使用UUID庫,正確格式化日期,並利用工作全天活動。因爲我只需要創建和銷燬所有我更新的事件。當我有時間時,我計劃做更多的事情。

我的更新代碼可以在這裏找到https://github.com/loosecannon93/ruby-caldav

我遇到的問題是提供格式錯誤的日期和缺乏UUID。

caldavtest.rb文件在GitHub是我曾經工作

的複雜情況我遇到的是,Zimbra公司(服務器)有2個通道,一個是隻讀/home/[email protected]/Calender ICS文件和一個CalDAV的/dav/[email protected]/Calendar

我希望有人可以找到這個解決方案的幫助。

然而,Ruby的cladav實現卻很缺乏。有ICS庫形成對象,但只有純Net :: HTTP才能與服務器交互。 Local-guru's是我發現的唯一一種兼具雙向性的ruby,但它需要一些小問題的幫助。

我修復了其中的一些但不是項目範圍,我只好讓它工作。但如果有人願意貢獻,我很樂意提供幫助。

0

我們使用caldav4j作爲我們的應用程序在JRuby中部署。不知道這是否是您的選擇。

2

我最喜歡的地方之一檢查可能的選項是Ruby Toolbox。這將是我會檢查的第一個地方之一。

我也會檢查github,其中產生this result這可能是你最好的選擇,正是你在找什麼。

至於回答你的其他問題,我可能會看看this postthis code後,我自己推出自己的問題。

因此,長的回答嚴重縮短,是的,有些圖書館已經完成了你期望的任務,但如果是我,我會爲自己的具體目標推出自己的解決方案。

+2

哈哈,感謝您的回覆,「此代碼」鏈接實際上是我的解決方案(我結束了自己的翻身,基於其他一些東西,真的不記得這是前一陣子) – loosecannon