2010-05-21 40 views
7

我正在为内部使用Google日历的公司开发应用程序,并且需要使用应用程序中日历中已有的事件。所以我需要从应用程序中读取他们的日历(即我需要事件标题,开始和结束日期以及所有未来事件的参与者电子邮件)。从红宝石访问Google日历的最佳方式是什么?

什么是最简单的方法来做到这一点在红宝石(我需要它在Heroku上相对无缝工作)?

我试着用这似乎是最不合时宜,我发现的那些的GCal4Ruby gem但我无法甚至通过库(HTTPRequestFailed - Captcha required error)认证更不用说得到我需要的信息。

澄清:什么我说的是谷歌企业应用套件版本的日历,一个在calendar.google.com。

+1

Google Apps版本是否支持私人iCal地址?如果是这样,ri_cal框架在解析.ics文件方面做得很好。 – 2010-05-21 12:14:18

+0

可悲的私人地址似乎不被支持。 – 2010-05-21 14:51:22

回答

8

好的我通过GCal4Ruby得到了API。我不确定第一次出了什么问题。感谢Mike和James的建议。这是我用于任何感兴趣的人的示例代码:

require "rubygems" 
require "gcal4ruby" 

serv = GCal4Ruby::Service.new 
serv.authenticate "[email protected]", "password" 

events = GCal4Ruby::Event.find serv, {'start-min' => Time.now.utc.xmlschema, 
    :calendar => 'example-cal%40example.com'} 

events.each do |event| 
    puts event.title 
    puts event.attendees.join ", " 
    puts event.start_time 
    puts event.end_time 
    puts '-----------------------' 
end 
+0

Thx这个样本我运行了3分钟。 – Denis 2011-08-27 09:07:49

+0

感谢这对我也 – vinothini 2011-12-02 07:26:09

+1

这似乎很好是真实的,事实上,直接登录API在2012年停止 – b1nary 2015-07-14 16:22:50

1

您应该可以使用Google日历private xml address功能提取所需的数据。

然后你可以用hpricot或nokogiri解析它,以提取你需要的任何字段。

+0

很遗憾,Google Apps版本似乎没有支持。虽然这将是理想的。 – 2010-05-21 08:42:47

+0

您的Google Apps安装的网域管理员应该可以启用此功能 - > [说明](http://groups.google.com/group/google-calendar-help-howto/msg/bd4b7416102d5950) – 2010-05-21 13:42:47

+0

这是否有其他安全影响? – 2010-05-21 14:55:00