sobota, maja 19, 2007

Wpisy z Bloggera jako eventy w Google Calendar

Od dłuższego czasu próbowałem znaleźć cosia, który pozwoliłby mi na uczynienie z wpisów na blogu eventów w Google Calendar. Pierwszym pomysłem było wykorzystanie konwertera on-line RSS do ICal, niestety jedyny który znalazłem dostępny był jako źródła w PHP, ale żeby je odpalić serwer musiałby pozwalać PHP na łączenie się z siecią, niestety klub Chipa nie pozwala ;-) Pomysł więc odpadł.Drugim pomysłem, który właśnie przekułem w kod jest wykorzystanie Google API, dokładniej Blogger API i Google Calendar API. Prosty program który odczytuje wpisy z Bloggera i wrzuca je do Google Calendar to niecałe 100 linii w Java'ie napisane głównie metodą CTRL-C/CTRL-P z przykładów + drobne modyfikacje ;-)Dzięki temu możliwe stało się stworzenie kalendarza w Google Calendar w którym trzymane jako eventy są wpisy z bloga [dokładniej to linki do wpisów ;-)]Na dowód, że to możliwe poniżej linka do Google Calendara z wpisami z bloga :-) [nie żebym myślał, że to się komuś przyda :-)]
Do skompilowania programu potrzebne są Java client library i wymagana przez nie biblioteka Java Mail (wystarczy sam mail.jar).W programie jest kilak stałych, które należy ustawić w odpowiedni sposób, i tak feedUrlString to URL do kalendarza [można go w Google Calendar znaleźć, trzeba jednak uważać i zmienić końcówkę z public/basic na private/full], blogId to ID bloga na Bloggerze, które widać w adresie w trakcie edycji wpisów ;-) są to te cyferki po blogID= ;-), user to nazwa użytkownika Google Calendar [to jest z tego co wiem zawsze adres e-mail użytkownika], password jak łatwo się domyśleć to hasło do Google Calendar.Wadą rozwiązania jest konieczność uruchamiania programu w celu zaktualizowania kalendarza.[programik jest napisany dość brzydko, ale działa ;-)]


Podobne postybeta
Wpisy z Bloggera jako eventy w Google Calendar 4 - nowa wersja aplikacji ;-)
Wpisy z Bloggera jako eventy w Google Calendar, odsłona 3 - Aplikacja ;-)
Biuro On-Line :-)
Migracja z blog.pl do blogger.com
GCJ mnie przerosło ;-)