2010-05-21 13 views
7

Piszę aplikację dla firmy, która wewnętrznie korzysta z Kalendarza Google i musi używać wydarzeń, które już mają w swoim kalendarzu w aplikacji. Muszę uzyskać dostęp do kalendarzy z aplikacji tylko do odczytu (mianowicie potrzebuję tytułu wydarzenia, daty rozpoczęcia i zakończenia oraz e-maile uczestników na wszystkie przyszłe wydarzenia).Jaki jest najlepszy sposób uzyskania dostępu do Kalendarza Google z ruby?

Jaki jest najprostszy sposób na zrobienie tego w rubinie (Czy potrzebowałabym go do pracy stosunkowo bezproblemowo na Heroku)?

Próbowałem za pomocą GCal4Ruby gem który wydawał się najmniej przestarzały z nich znalazłem, ale jestem w stanie nawet uwierzytelnienia przez bibliotekę (HTTPRequestFailed - Captcha required error) Niech sam uzyskać informacje muszę.

Wyjaśnienie: Co mówię to wersja Google Apps kalendarza, nie jeden na calendar.google.com.

+1

Czy wersja Google Apps obsługuje prywatne adresy iCal? Jeśli tak, struktura ri_cal wykonuje całkiem dobrą robotę przy analizie plików .ics. –

+0

Niestety adresy prywatne nie są obsługiwane. –

Odpowiedz

8

OK Mam api przez GCal4Ruby działa. Nie wiem dokładnie, co poszło nie tak za pierwszym razem. Podziękowania dla Mike'a i Jamesa za sugestie. Oto przykładowy kod, którego użyłem dla wszystkich zainteresowanych:

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 dla tej próbki mam go uruchomione 3 minuty. – Denis

+0

dziękuje, że to działa dla mnie również – vinothini

+1

to wyglądało dobrze, aby mogło być prawdziwe i rzeczywiście bezpośrednie logowanie się do API zatrzymało się w 2012 roku – b1nary

1

Powinieneś być w stanie korzystać z funkcji Google Calendar private xml address, aby wyciągnąć potrzebne dane.

Następnie można go sparsować za pomocą hpricot lub nokogiri, aby wyodrębnić pola, których potrzebujesz.

+0

Niestety nie jest to obsługiwane w wersji Google Apps. Chociaż byłoby to idealne. –

+0

Administrator domeny Twojej konfiguracji Google Apps powinien mieć możliwość włączenia tego -> [instrukcje] (http://groups.google.com/group/google-calendar-help-howto/msg/bd4b7416102d5950) –

+0

Czy to ma inne implikacje dla bezpieczeństwa? –

Powiązane problemy