Kalendarz w witrynie – wyświetlanie zdarzeń Google Calendar na własnej stronie WWW
Google Calendar jest nie tylko narzędziem pomocnym w organizowaniu czasu indywidualnego użytkownika. Dostarcza także wydajnych rozwiązań umożliwiających sieciowym społecznościom wymianę informacji dotyczących ważnych dla nich wydarzeń. Wiele z tych grup woli jednak prezentować tego typu dane na własnych stronach, forach czy blogach. Najbardziej powszechną metodą przenoszenia informacji z sieciowego kalendarza jest przy tym nieśmiertelne „kopiuj-wklej”. Tymczasem Google Calendar udostępnia nam znacznie lepsze rozwiązania – z wykorzystaniem jego API będziemy mogli zautomatyzować proces pobierania i wyświetlania zdarzeń na naszej własnej stronie WWW.
Pracując jako projektant stron WWW, miałem kiedyś okazję uczestniczyć w tworzeniu bazującego na PHP portalu społecznościowego, przeznaczonego dla fanatyków motoryzacji. Nie było to pierwsze sieciowe okno na świat tej grupy autozapaleńców. Kilka lat wcześniej, nabywszy podstawowe umiejętności konieczne dla projektowania stron WWW, postanowili oni stworzyć witrynę na własną rękę. Jednymi z bardziej istotnych informacji zamieszczanych na ich stronie były przy tym anonse dotyczące zbliżających się wydarzeń i spotkań. Z początku dodawanie ich do zawartości strony nie stanowiło problemu. W miarę jednak rozrastania się sieciowej społeczności, a także tworzenia kolejnych podstron i odnośników, cały projekt zaczął pogrążać się w chaosie. Wprowadzanie i kasowanie danych przerosło możliwości twórców witryny i w efekcie na stronach coraz częściej można było znaleźć od dawna już nieaktualne informacje. A sami fani motoryzacji, zamiast poświęcać się swojemu hobby, większość czasu spędzali przed ekranami komputerów. Skontaktowali się więc ze mną, licząc na to, że będę mógł im pomóc w stworzeniu witryny z prawdziwego zdarzenia – łatwej w obsłudze zarówno dla użytkowników, jak i dla samych właścicieli.
Sama struktura witryny nie była dla projektanta dużym wyzwaniem – moim klientom chodziło o stworzenie forum, gdzie wszyscy zainteresowani mogliby wymieniać informacje dotyczące motoryzacji, oraz stron zawierających aktualności na temat zbliżających się wydarzeń: zjazdów, wycieczek czy wystaw. Nauczeni doświadczeniem nie chcieli się zajmować zarządzaniem wieloma anonsami, umieszczonymi w różnych miejscach w strukturze witryny. Chodziło im właśnie o stworzenie jednego, centralnego kalendarza imprez, do którego zawartości można by było uzyskać dostęp z każdego miejsca na stronie. Stało się dla mnie oczywiste, że najprostszym rozwiązaniem problemu będzie pomoc Google Calendar.
Interfejs programowania dla Google Calendar
Aplikacja Google'a jest doskonałym rozwiązaniem dla społeczności, które chcą się dzielić informacjami na temat zaplanowanych wydarzeń. Umieszczenie danych w jednym miejscu, do którego dostęp może mieć każdy użytkownik, znacząco usprawnia proces komunikacji i planowania. Problem zdezaktualizowanych informacji, umieszczonych na wielu powiązanych ze sobą stronach, przestaje mieć znaczenie.
Projektując więc witrynę klubu motoryzacyjnego w oparciu o CMS Drupal, poradziłem moim klientom, by do zarządzania komunikatami dotyczącymi zbliżających się wydarzeń wykorzystali zalety Google Calendar. Z początku wszystko szło świetnie – elastyczny interfejs Drupala pozwalał im łatwo aktualizować informacje w panelu, który specjalnie do tego celu zaprojektowałem. W miarę upływu czasu, przy coraz większej popularności klubu, rosły jednak także ilości danych, które należało przetworzyć. Aktualizowanie panelu z przyjemności stało się przykrym i nużącym obowiązkiem.
Na szczęście udostępniany przez Google'a interfejs programowania, przeznaczony także dla aplikacji Calendar, pozwolił nam szybko uporać się z narastającym problemem. Google Calendar API zawiera bowiem implementację zarówno źródeł RSS, jak i Atom – przy wykorzystaniu Atom Publishing Protocol (APP), protokołu umożliwiającego pobieranie i aktualizację różnego typu danych. Dostępne są także inne interfejsy programowania dla technologii Microsoft .NET, języków Java, Python i PHP, które pozwalają dodatkowo rozszerzyć funkcjonalność API Google. Po przeprowadzeniu krótkiego rozeznania byłem więc już pewien, że będę w stanie wzbogacić projektowaną witrynę o zawsze aktualny panel wydarzeń, który potrzebne dane pobierał będzie bezpośrednio z aplikacji Google Calendar.
Kanały informacyjne i Calendar
Interfejs programowania Google pozwala nam korzystać z kanałów informacyjnych Atom, dostarczających informacje i dokumenty pochodzące z wielu aplikacji sieciowych oferowanych przez firmę z Mountain View. Dotyczy to oczywiście także narzędzia Google Calendar – najważniejsze dane umieszczone w kalendarzu mogą być oferowane w formie publicznych lub autoryzowanych źródeł. Kanały autoryzowane dają nam ponadto możliwość aktualizacji informacji – dodawania i usuwania zdarzeń oraz tworzenia i subskrypcji poszczególnych kalendarzy. Dzięki API Google Calendar uzyskamy zatem zdalny dostęp do prawie wszystkich tych funkcjonalności, z których zwykle korzystamy za pomocą interfejsu aplikacji. Dotyczy to przy tym nie tylko kalendarzy stworzonych przez użytkownika, ale także przez niego subskrybowanych oraz importowanych w trybie „tylko-do-odczytu”. Wszystkie te kalendarze pozwalają na wyróżnienie publicznych i prywatnych kanałów informacyjnych, zawierających dane przeznaczone dla tych dwóch grup odbiorców. W niniejszym artykule, ze względu na nurtujący nas problem, zajmiemy się oczywiście głównie kanałami informacji publicznych.
Tworzymy publiczny kanał informacyjny
Aby utworzyć publiczny kanał informacyjny dla każdego, wybranego kalendarza w aplikacji Google Calendar, musimy oczywiście rozpocząć od utworzenia konta Google'a – jeśli do tej pory w naszej internetowej karierze udało nam się tego uniknąć. Następnie wybieramy nowy, dopiero utworzony kalendarz i klikamy małą strzałkę, umieszczoną tuż obok jego nagłówka, w panelu nawigacyjnym po lewej stronie. Spośród kilku pozycji interesuje nas najbardziej opcja Ustawienia kalendarza (Calendar Settings):
Pierwszy krok – wybieramy z menu Ustawienia kalendarza.
W panelu ustawień możemy zmienić różne parametry kalendarza, takie jak jego nazwa czy domyślna strefa czasowa. Naszą uwagę powinien jednak zwrócić przede wszystkim odnośnik Zmiana ustawień udostępniania (Change sharing settings). Po jego kliknięciu będziemy mogli określić krąg osób, które uzyskają dostęp do danych zawartych w naszym kalendarzu. Do wyboru pozostawiono nam dwie opcje – udostępnienie informacji publicznie lub też określonej grupie osób (kalendarz współdzielony).
Zmieniamy opcje kalendarza – publiczny lub współdzielony.
W naszej sytuacji wybór jest oczywisty. Aktywujemy opcję Udostępnij ten kalendarz publicznie (Share all information on this calendar with everyone). Po kilkukrotnym potwierdzeniu, że naprawdę wiemy, co robimy, zakończymy naszą przygodę z ustawieniami kalendarza, klikając Zapisz (Save), i będziemy mogli wrócić do znacznie przyjemniejszego dodawania kolejnych interesujących zdarzeń, czekających nas w najbliższej przyszłości.
«poprzednia 1 2 3 4 ... 5 następna »
Polecamy
Reklama
Komentarze
Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka
(słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.
Popularne
MSWiA zamówiło narzędzia do „złamania” Tora i podsłuchiwania internautów. Czy złamało przy tym prawo?
89
Korea Północna: korzystasz z telefonu komórkowego? Jesteś więc zbrodniarzem wojennym
5
Nowa polityka prywatności Google'a już za miesiąc wejdzie w życie. Mamy się czego bać?
16
Firefox 10 już jest. Wiele atrakcji dla programistów, użytkownicy raczej nic nie zauważą
9
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1451
Linux wypiera z korporacyjnych serwerów już nie tylko Uniksy, ale i Windows
11
Źle się dzieje z Chrome, ze stabilnością coraz gorzej. Gdzie się podziała słynna izolacja procesów?
23
MSWiA zamówiło narzędzia do „złamania” Tora i podsłuchiwania internautów. Czy złamało przy tym prawo?
89
[Aktualizacja] Facebook zablokował Demotywatory.pl. W czym zawiniły?
36
FBI zamknęło Megaupload. Anonimowi dali się sprowokować. Teraz ich akcja uzasadni potrzebę SOPA?
17
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1451
Rząd Tuska zablokował dostęp do tańszych leków z internetowych aptek
61
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
15
„Donald matole, twój rząd dopadną kibole” – hakerska elita przyłącza się do walki z ACTA
23
Społeczność
matrixik A ja już długi czas temu przesiadłem się z Konnecta na Mirandę i jestem...
hipertracker @slawek22, ORM wcale nie musi tworzyć nieoptymalnych kwerend. Poza tym...
Rumcajs Kolejna PRowska ściema Donka. Już mnie krew zalewa.
Artykuł 41...
zalesz o Pan Sławek :)
Patrzę nic się nie zmieniło, w sumie to nic się nie...
slawek22 Jeszcze taka dygresja na poparcie tezy, akurat sobie czytałem o node...
slawek22 Tylko po co mi 5, 10 albo nawet 15 razy szybszy JRuby skoro całą "moc...
pobieraczek.pl zapłacicie wszyscy ;D
- gardius: Dobra hurtownia sportowa (1)
- gardius: Tanie książki gdzie warto kupować? (1)
- Najdmen.pl: PROMOCJA, 500 DOMEN .EU ZA 1 PLN NETTO ! (1)
- VMLine: [Oferta] Serwery VPS Xen-HVM/OpenVZ z darmową administracją (2)
- Marek: Generowanie PDFa (2)
- Marek: problem z menu (2)
- Marek: Własne checkboxy w HTML,CSS (1)
Polecane książki
Praca
Obsługa księgowa z językiem niemieckim
Tech Support Engineer with fluent English and German, French, Italian or Spanish
Młodszy Specjalista w Dziale Należności ze znajomością języka francuskiego
Analityk Baz Danych i Systemów Monitorowania
Menedżer ds. Klienta Biznesowego
Starszy Programista Aplikacji Internetowych/Team Leader
Czytaj Webhosting
Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.
Zarejestruj domenę
Sprawdź dostępność swojej domeny:
| .pl: | 0 zł | .com: | 19.90 zł | |
|---|---|---|---|---|
| .com.pl: | 0 zł | .eu: | 19.90 zł |










