CalDAV ist eine Erweiterung von WebDAV, die einen Standard für den Zugriff von Clients auf Kalenderinformationen auf einem Remote-Server bietet.
Google stellt eine CalDAV-Oberfläche bereit, mit der Sie Kalender über das CalDAV-Protokoll aufrufen und verwalten können.
Spezifikationen
Für jede der relevanten Spezifikationen gilt die folgende CalDAV-Unterstützung von Google:
- rfc4918: HTTP-Erweiterungen für Web Distributed Authoring and Versioning (WebDAV)
- Unterstützt die HTTP-Methoden
GET
,PUT
,HEAD
,DELETE
,POST
,OPTIONS
,PROPFIND
undPROPPATCH
. - Unterstützt nicht die HTTP-Methoden
LOCK
,UNLOCK
,COPY
,MOVE
oderMKCOL
und denIf*
-Header (außerIf-Match
). - Benutzerdefinierte WebDAV-Attribute werden nicht unterstützt.
- Unterstützt keine WebDAV-Zugriffssteuerung (rfc3744).
- Unterstützt die HTTP-Methoden
- rfc4791: Kalendererweiterungen für WebDAV (CalDAV)
- Unterstützt die HTTP-Methode
REPORT
. Alle Berichte mit Ausnahme der Abfrage der Verfügbarkeit sind implementiert. - Die HTTP-Methode
MKCALENDAR
wird nicht unterstützt. - Die Aktion
AUDIO
wird nicht unterstützt.
- Unterstützt die HTTP-Methode
- rfc5545: iCalendar
- Daten, die über die CalDAV-Oberfläche freigegeben werden, werden gemäß der iCalendar-Spezifikation formatiert.
VTODO
- oderVJOURNAL
-Daten werden derzeit nicht unterstützt.- Die Apple iCal®-Erweiterung wird nicht unterstützt, um von Nutzern einstellbare URL-Properties zuzulassen.
- rfc6578: Sammlungssynchronisierung für WebDAV
- Clientanwendungen müssen nach der Erstsynchronisierung in diesen Betriebsmodus wechseln.
- rfc6638: Scheduling Extensions to CalDAV
- Unterstützt einen trivialen „Posteingang“, der immer leer ist.
- Einladungen, die Sie erhalten, werden automatisch in der Sammlung „Ereignisse“ abgelegt und nicht in Ihrem Posteingang.
- Die Suche nach Verfügbarkeit wird nicht unterstützt.
- caldav-ctag-02: Kalender-Entitäts-Tag (CTag) in CalDAV
- Der Kalender
ctag
ist wie eine Ressourceetag
. Er ändert sich, wenn sich etwas im Kalender geändert hat. So kann die Clientanwendung schnell feststellen, dass keine geänderten Ereignisse synchronisiert werden müssen.
- Der Kalender
- calendar-proxy: Kalender-Nutzer-Proxy-Funktion in CalDAV
- Um die Leistung der Kalendersynchronisierung von iOS-Geräten zu verbessern, die keine Delegierung unterstützen, funktioniert die Verwendung der Properties
calendar-proxy-read-for
odercalendar-proxy-write-for
mit einem iOS-User-Agent nicht.
- Um die Leistung der Kalendersynchronisierung von iOS-Geräten zu verbessern, die keine Delegierung unterstützen, funktioniert die Verwendung der Properties
Wir haben noch nicht alle relevanten Spezifikationen vollständig implementiert. Bei vielen Clients wie der Kalender-App von Apple sollte das CalDAV-Protokoll jedoch ordnungsgemäß funktionieren.
Hinweis: Aus Gründen der Kontosicherheit und zum Schutz vor Missbrauch kann Google Cookies in Clientanwendungen setzen, die über CalDAV auf Daten zugreifen.
Client-ID erstellen
Zur Verwendung der CalDAV API benötigen Sie ein Google-Konto. Wenn Sie bereits ein Konto haben, das Sie verwenden können, sind Sie startklar.
Bevor Sie Anfragen an die CalDAV API senden können, müssen Sie Ihren Client in der Google API Console registrieren, indem Sie ein Projekt erstellen.
Gehen Sie zur Google API Console. Klicken Sie auf Projekt erstellen, geben Sie einen Namen ein und klicken Sie auf Erstellen.
Aktivieren Sie als Nächstes die CalDAV API.So aktivieren Sie eine API für Ihr Projekt:
- Öffnen Sie die API-Bibliothek in der Google API Console. Wählen Sie ein Projekt aus oder erstellen Sie ein neues, wenn Sie dazu aufgefordert werden. In der API-Bibliothek finden Sie alle verfügbaren APIs nach Produktfamilie und Beliebtheit gruppiert.
- Wenn die API, die Sie aktivieren möchten, nicht in der Liste angezeigt wird, können Sie die Suchfunktion verwenden.
- Wählen Sie die gewünschte API aus und klicken Sie dann auf die Schaltfläche Aktivieren.
- Aktivieren Sie die Abrechnung, wenn Sie dazu aufgefordert werden.
- Akzeptieren Sie die Nutzungsbedingungen der API, wenn Sie dazu aufgefordert werden.
So findest du die Client-ID und den Clientschlüssel deines Projekts:
- Wählen Sie vorhandene OAuth 2.0-Anmeldedaten aus oder öffnen Sie die Seite „Anmeldedaten“.
- Falls noch nicht geschehen, erstellen Sie die OAuth 2.0-Anmeldedaten für Ihr Projekt. Klicken Sie dazu auf Anmeldedaten erstellen > OAuth-Client-ID und geben Sie die erforderlichen Informationen zum Erstellen der Anmeldedaten ein.
- Suchen Sie im Abschnitt OAuth 2.0-Client-IDs nach der Client-ID. Klicken Sie auf die Client-ID, um weitere Informationen zu erhalten.
Verbindung zum CalDAV-Server von Google herstellen
Um die CalDAV-Oberfläche zu verwenden, stellt ein Clientprogramm zuerst über einen von zwei Startpunkten eine Verbindung zum Kalenderserver her. In beiden Fällen muss die Verbindung über HTTPS hergestellt werden und das OAuth 2.0-Authentifizierungsschema verwenden. Der CalDAV-Server lehnt die Authentifizierung einer Anfrage ab, es sei denn, sie wird über HTTPS mit OAuth 2.0-Authentifizierung eines Google-Kontos gesendet.
Der Versuch, eine Verbindung über HTTP oder mithilfe der Basisauthentifizierung herzustellen, führt zu einem HTTP-401 Unauthorized
-Statuscode.
Wenn das Clientprogramm (z. B. die Kalender-App von Apple) eine Hauptsammlung als Ausgangspunkt benötigt, lautet der URI, zu dem eine Verbindung hergestellt werden soll:
https://apidata.googleusercontent.com/caldav/v2/calid/user
Dabei muss calid
durch die „Kalender-ID“ des Kalenders ersetzt werden, auf den zugegriffen werden soll. Sie finden sie in der Weboberfläche von Google Kalender. Wählen Sie dazu im Drop-down-Menü neben dem Namen des Kalenders Kalendereinstellungen aus. Auf der Seite, die daraufhin angezeigt wird, sehen Sie die Kalender-ID im Abschnitt Kalenderadresse. Die Kalender-ID für den primären Kalender eines Nutzers entspricht der E-Mail-Adresse dieses Nutzers.
Wenn ein Clientprogramm (z. B. Mozilla Sunbird) eine Kalendersammlung als Ausgangspunkt benötigt, lautet der URI für die Verbindung:
https://apidata.googleusercontent.com/caldav/v2/calid/events
Der alte Endpunkt https://www.google.com/calendar/dav wird eingestellt und nicht mehr unterstützt. Die Nutzung erfolgt auf eigene Gefahr. Wir empfehlen Ihnen, auf das oben beschriebene neue Endpunktformat umzustellen.
iCal® ist eine Marke von Apple Inc.