【问题标题】:How to interact with a CalDAV server from Ruby? [closed]如何从 Ruby 与 CalDAV 服务器交互? [关闭]
【发布时间】:2011-09-28 22:50:13
【问题描述】:

我需要在 Ruby(准确地说是 Rails)应用程序中使用 CalDAV 在日历服务器上创建事件。我查看了一些不同的库并进行了一些谷歌搜索。

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

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

最好的方法是什么?是否有任何库已经这样做了,我需要形成自己的 HTTP 请求吗?

欢迎任何关于该主题的建议

【问题讨论】:

    标签: ruby-on-rails ruby api caldav


    【解决方案1】:

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

    我必须调整它与 SSL 一起使用,并正确使用 UUID 库,正确格式化日期并处理全天事件。因为我只需要创建和销毁事件,这就是我更新的全部内容。我计划在我有时间的时候做更多的事情。

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

    我遇到的问题是提供的日期格式不正确,并且缺少 UUID。

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

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

    我希望有人可以找到有关此解决方案的帮助。

    但是,对于 Ruby,cladav 实现非常缺乏。有形成对象的 ICS 库,但只有纯 Net::HTTP 与服务器交互。 Local-guru's 是我发现的唯一一种可以双向工作的红宝石,但它需要一些小问题的帮助。

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

    【讨论】:

      【解决方案2】:

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

      我还会检查 github,它产生了 this result,这可能是您最好的选择,也是您正在寻找的。​​p>

      至于回答您的其他问题,在查看this postthis code 之后,我可能会自己动手。

      所以,长答案大大缩短了,是的,有些库已经完成了你想要做的事情,但如果是我,我会为这个特定的事情推出自己的解决方案。

      【讨论】:

      • 哈哈,感谢您的回复,“此代码”链接实际上是我的解决方案(我最终滚动了自己的,基于其他一些东西,真的不记得这是前一阵子了)
      【解决方案3】:

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

      【讨论】:

      • 已注意到,可惜我不是。
      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 2013-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-30
        • 1970-01-01
        • 2012-03-09
        • 2011-10-26
        • 2012-02-18
        相关资源
        最近更新 更多