I had a request for creating events in Google Calendar from some business processes. It gave me the opportunity to play with Google Data; it wasn’t too difficult, especially since it’s based on Atom and AtomPub.
I have thus started working on a new rufus library. It’s very limited for now, but I can have code that looks like that :
require 'rubygems'
require 'rufus/gcal'
calendars = Rufus::Google::Calendar.get_calendars(
:account => ENV['GUSER'],
:password => ENV['GPASS'])
#calendars.values.each { |c| p [ c.name, c.href ] }
cal = calendars['gwork']
id = cal.post_quick!(
'Tennis with John November 13 3pm-4:30pm')
cal.events(:q => 'tennis').each do |e|
puts
puts e.to_s
end
Behind the scenes, it relies heavily on the fine atom-tools gem by Brendan Taylor.
The only authentication mechanism used is the ClientLogin. For the other mechanisms, one can look at gdata-ruby.
My next step will be to polish the Event class and to allow for manipulation of Calendar resources. Then I will take a look at other Google Data APIs.
source : http://github.com/jmettraux/rufus-google
mailing-list : http://groups.google.com/group/rufus-ruby

"...that is, things that are not security (part of the security area), nor networks (most of the other areas), but rather things that use the networks and security services to provide things of benefit to the end-user."This was of particular interest to me since that includes specifications like the Atom Syndication Format and the Atom Publishing Protocol, which we use extensively at Google. From the call for participation:
"These should be a few pages of text on some topic related to Applications area architectural issues. Since the group of attendees is expected to span HTTP and AtomPub, email, IM, calendaring, directories and more, issues should be of interest to more than one of these groups. Some existing Applications architecture "modules" that already are reused include SASL, URLs, MIME types, XML and XML schemas and namespaces, HTTP as a substrate, TLS, ABNF, BEEP."We had around 20 attendees and the breakout sessions ranged over all the topics listed above and many more. There were two days of great conversation and everyone had a good time.
"Thank you for the high quality hosting and convenience of location and food!"-Lisa Dusseault (Apps Area Director)