如何与Ruby的CalDAV服务器进行交互?

我需要在Ruby(Rails为精确)应用程序中使用CalDAV在日历服务器上创建事件。 我看过一些不同的图书馆并做了一些谷歌搜索。

我看了ri-cal( http://ri-cal.rubyforge.org/rdoc/ )但不确定它是否支持将数据发送到服务器或者我自己必须这样做,

这看起来很有希望http://www.local-guru.net/blog/pages/rubycaldav ,但它说它是alpha软件,我需要稳定的东西。

做这个的最好方式是什么? 是否有任何库已经执行此操作,我是否需要形成自己的HTTP请求?

关于这个问题的任何建议都是有意义的

我最终使用了http://www.local-guru.net/blog/pages/rubycaldav上的库

我必须使用SSL调整它,并正确使用UUID库,正确格式化日期并使用全天事件。 因为我只需要创建和销毁所有我更新过的事件。 我计划在有空的时候做更多的事情。

我的更新代码可以在这里找到https://github.com/loosecannon93/ruby-caldav 。

我遇到的问题是提供格式错误的日期和缺少UUID。

GitHub上的caldavtest.rb文件是我以前工作的

我遇到的另一个复杂function是,Zimbra(服务器)有2条路径,一条用于ICS文件,只读/home/user@host/Calender ,另一条用于CalDAV /dav/user@host/Calendar

我希望有人可以帮助解决这个问题。

但是Ruby缺乏cladav实现。 有ICS库形成对象,但只有纯Net :: HTTP与服务器交互。 本地大师是我发现的唯一可以双向工作的ruby,但它需要一些小问题的帮助。

我修复了其中一些但不是项目范围,我只是必须让它工作。 但如果有人想贡献,我很乐意提供帮助。

我最喜欢检查可能选项的地方之一是Ruby Toolbox 。 这将是我要检查的第一个地方之一。

我也会检查github,这会产生这个结果 ,这可能是你最好的选择,也正是你想要的。

至于回答你的其他问题,我可能会在看了这篇文章和这段代码后再推出自己的问题。

所以,长期答案严重缩短,是的,有些图书馆已经完成了你想要做的事情,但如果是我,我会推出自己的解决方案来解决这个问题。

你在谷歌上托管你的日历吗? 如果你是,那么看看: https : //github.com/northworld/google_calendar

我们使用了caldav4j,因为我们的应用程序部署在JRuby中。 不知道那是否适合你。