CalDAV to rozszerzenie WebDAV, które zapewnia klientom dostęp do informacje z kalendarza na zdalnym serwerze.
Firma Google udostępnia interfejs CalDAV, który umożliwia wyświetlanie kalendarzy i zarządzanie nimi przy użyciu protokołu CalDAV.
Specyfikacja
W przypadku każdej z tych specyfikacji obsługa protokołu CalDAV Google jest następująca:
- rfc4918: rozszerzenia HTTP do tworzenia i obsługi wersji w sieci
(WebDAV)
- Obsługuje metody HTTP
GET
,PUT
,HEAD
,DELETE
,POST
,OPTIONS
,PROPFIND
iPROPPATCH
. - Nie obsługuje metod HTTP
LOCK
,UNLOCK
,COPY
,MOVE
aniMKCOL
lub nagłówekIf*
(z wyjątkiemIf-Match
). - Nie obsługuje dowolnych (zdefiniowanych przez użytkownika) właściwości WebDAV.
- Nie obsługuje kontroli dostępu WebDAV (rfc3744).
- Obsługuje metody HTTP
- rfc4791: Kalendarzowanie rozszerzeń do WebDAV (CalDAV)
- Obsługuje metodę HTTP
REPORT
. Wszystkie raporty oprócz zapytania o stan Wolny/Zajęty są zaimplementowane. - Nie obsługuje metody HTTP
MKCALENDAR
. - Nie obsługuje czynności
AUDIO
.
- Obsługuje metodę HTTP
- rfc5545: iKalendarz
- Dane udostępniane w interfejsie CalDAV są formatowane zgodnie z Specyfikacja pliku iCalendar.
- Obecnie nie obsługuje danych
VTODO
aniVJOURNAL
. - Rozszerzenie Apple iCal® nie obsługuje właściwości adresów URL możliwych do ustawienia przez użytkownika.
- rfc6578: Collection Synchronization for WebDAV
- Aplikacje klienckie muszą przełączyć się na ten tryb działania po synchronizacji początkowej.
- rfc6638: planowanie rozszerzeń do CalDAV
- Obsługuje prostą „skrzynkę odbiorczą”, który jest zawsze pusty.
- Otrzymane zaproszenia są automatycznie dostarczane na Twoje „wydarzenia” a nie do „skrzynki odbiorczej”.
- Wyszukiwanie informacji o stanie Wolny/Zajęty nie jest obsługiwane.
- caldav-ctag-02: tag CTag (CTag) kalendarza w CalDAV
- Kalendarz
ctag
jest jak zasóbetag
. zmienia się, gdy coś w kalendarzu uległ zmianie. Dzięki temu aplikacja kliencka szybko stwierdzić, że nie ma potrzeby synchronizowania zmian zdarzeń.
- Kalendarz
- calendar-proxy: funkcjonalność serwera proxy użytkowników Kalendarza w CalDAV
- Aby poprawić wydajność synchronizacji kalendarza na urządzeniach z iOS,
nie obsługują przekazywania dostępu za pomocą interfejsu
calendar-proxy-read-for
lub Działanie właściwościcalendar-proxy-write-for
z klientem użytkownika iOS zakończy się niepowodzeniem.
- Aby poprawić wydajność synchronizacji kalendarza na urządzeniach z iOS,
nie obsługują przekazywania dostępu za pomocą interfejsu
Nie udostępniliśmy jeszcze pełnej implementacji wszystkich specyfikacji. Jednak w przypadku wielu klientów, takich jak aplikacja Kalendarz firmy Apple, protokół CalDAV powinien współdziałać prawidłowo.
Uwaga: aby zapewnić bezpieczeństwo konta i zapobiec nadużyciom, Google może zapisywać pliki cookie w aplikacjach klienckich uzyskujących dostęp do danych przez CalDAV.
Tworzę identyfikator klienta
Aby korzystać z interfejsu API CalDAV, musisz mieć konto Google. Jeśli masz już konto, z którego możesz korzystać, nie musisz nic robić.
Aby wysyłać żądania do interfejsu CalDAV API, musisz zarejestrować się swojego klienta za pomocą Konsoli interfejsów API Google, tworząc projekt.
Otwórz konsolę interfejsów API Google. Kliknij Utwórz projekt. wpisz nazwę i kliknij Utwórz.
Następnym krokiem jest aktywowanie interfejsu CalDAV API.Aby włączyć interfejs API w projekcie, wykonaj te czynności:
- Otwórz Bibliotekę API w konsoli interfejsów API Google. Jeśli pojawi się taka prośba, wybierz lub utwórz nowy projekt. W bibliotece interfejsów API wymienione są wszystkie dostępne Interfejsy API pogrupowane według rodziny usług i popularności.
- Jeśli interfejsu API, który chcesz włączyć, nie ma na liście, użyj wyszukiwania, aby ją znaleźć.
- Wybierz interfejs API, który chcesz włączyć, a następnie kliknij Włącz Przycisk
- Włącz płatności, jeśli pojawi się taka prośba.
- Jeśli pojawi się taka prośba, zaakceptuj Warunki korzystania z usługi API.
Aby znaleźć identyfikator i tajny klucz klienta projektu, wykonaj te czynności:
- Wybierz istniejącą wersję OAuth 2.0 danych logowania lub otwórz stronę Dane logowania.
- Jeśli jeszcze nie masz tego za sobą, utwórz protokół OAuth 2.0 swojego projektu dane logowania, klikając Utwórz dane logowania > identyfikator klienta OAuth oraz podając informacje potrzebne do utworzenia danych logowania.
- Odszukaj Identyfikator klienta w sekcji Identyfikatory klienta OAuth 2.0. Aby wyświetlić szczegółowe informacje, kliknij identyfikator klienta.
Łączenie z serwerem CalDAV Google
Aby korzystać z interfejsu CalDAV, program kliencki początkowo łączy się z
serwera kalendarza w jednym z dwóch punktów początkowych. W obu przypadkach połączenie
musi być realizowany przy użyciu protokołu HTTPS i musi korzystać z protokołu OAuth 2.0.
schematem uwierzytelniania. Serwer CalDAV odmówi uwierzytelnienia żądania
chyba że przechodzi przez protokół HTTPS z uwierzytelnianiem OAuth 2.0 konta Google.
Próba nawiązania połączenia przez HTTP lub użycie uwierzytelniania podstawowego kończy się
401 Unauthorized
kod stanu.
Jeśli program kliencki (np. aplikacja Kalendarz firmy Apple) wymaga zbiór podmiotów zabezpieczeń jako punktu początkowego, identyfikator URI połączenia to:
https://apidata.googleusercontent.com/caldav/v2/calid/user
Gdzie calid
należy zastąpić parametrem
"identyfikator kalendarza" kalendarza, który ma być dostępny. Możesz go znaleźć w
Interfejs internetowy Kalendarza Google w następujący sposób: w menu obok
nazwę kalendarza, wybierz Ustawienia kalendarza. Na stronie wynikowej
Identyfikator kalendarza jest wyświetlany w sekcji Kalendarz
Adres. Identyfikator kalendarza głównego użytkownika jest taki sam jak
adresu e-mail tego użytkownika.
Jeśli program kliencki (np. Mozilla Sunbird) wymaga kolekcję kalendarza jako punktem początkowym, identyfikator URI, z którym ma zostać nawiązane połączenie, to:
https://apidata.googleusercontent.com/caldav/v2/calid/events
Stary punkt końcowy https://www.google.com/calendar/dav to wycofane i nie są już obsługiwane; korzysta z niej na własne ryzyko. Zalecamy przejście na nowy format punktów końcowych opisany powyżej.
iCal® jest znakiem towarowym firmy Apple Inc.