CalDAV API-Entwicklerhandbuch

CalDAV ist eine Erweiterung von WebDAV, die einen Standard für den Zugriff auf auf einem Remote-Server.

Google stellt eine CalDAV-Benutzeroberfläche zur Verfügung, über die Sie Kalender anzeigen und verwalten können. mithilfe des CalDAV-Protokolls.

Spezifikationen

Der CalDAV-Support von Google für jede der relevanten Spezifikationen ist wie folgt:

  • rfc4918: HTTP-Erweiterungen für Web Distributed Authoring und Versionsverwaltung (WebDAV)
    • Unterstützt die HTTP-Methoden GET, PUT, HEAD, DELETE, POST, OPTIONS, PROPFIND und PROPPATCH.
    • Unterstützt die HTTP-Methoden LOCK, UNLOCK, COPY, MOVE oder MKCOL oder If*-Header (außer If-Match).
    • Unterstützt keine beliebigen (benutzerdefinierten) WebDAV-Properties.
    • WebDAV-Zugriffssteuerung (rfc3744) wird nicht unterstützt.
  • rfc4791: Kalendererweiterungen für WebDAV (CalDAV)
    • Unterstützt die HTTP-Methode REPORT. Alle Berichte außer „Verfügbar/Beschäftigt“-Abfrage implementiert werden.
    • Die HTTP-Methode MKCALENDAR wird nicht unterstützt.
    • Die Aktion AUDIO wird nicht unterstützt.
  • rfc5545: iCalendar
    • Die auf der CalDAV-Oberfläche bereitgestellten Daten werden gemäß den icalendar-Spezifikation.
    • Unterstützt derzeit keine VTODO- oder VJOURNAL-Daten.
    • Die Apple iCal®-Erweiterung zum Zulassen von URL-Eigenschaften, die vom Nutzer eingestellt werden können, wird nicht unterstützt.
  • rfc6578: Sammlungssynchronisierung für WebDAV
    • Client-Anwendungen müssen in diesen Betriebsmodus wechseln, nachdem der ersten Synchronisierung.
  • rfc6638: Erweiterungen für CalDAV planen
    • Unterstützt einen einfachen "Posteingang", der immer leer ist.
    • Einladungen, die Sie erhalten, werden automatisch an Ihre Termine gesendet. und werden nicht in den Posteingang verschoben.
    • Unterstützt die Suche nach Verfügbarkeitsinformationen nicht.
  • caldav-ctag-02: Entitäts-Tag für die Kalendersammlung in CalDAV
    • Der Kalender ctag ist wie die Ressource etag. ändern sich, wenn etwas im Kalender hat sich geändert. Dadurch kann die Clientanwendung schnell feststellen, dass keine Änderungen synchronisiert werden müssen, Ereignisse.
  • calendar-proxy: Kalender-Nutzer-Proxy-Funktion in CalDAV
    • Um die Leistung der Kalendersynchronisierung auf iOS-Geräten zu verbessern, die Delegierung über die calendar-proxy-read-for oder calendar-proxy-write-for-Properties mit einem iOS-User-Agent schlagen fehl.

Wir haben noch keine vollständige Implementierung aller relevanten Spezifikationen. Viele Clients, wie die Kalender-App von Apple, sollte das CalDAV-Protokoll ordnungsgemäß funktionieren.

Hinweis: Zum Schutz Ihres Kontos und um Missbrauch zu verhindern, Cookies in Clientanwendungen setzen, die über CalDAV auf Daten zugreifen.

Client-ID erstellen

Um die CalDAV API nutzen zu können, 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 sich registrieren den Client mit der Google API-Konsole, 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.

Als Nächstes aktivieren Sie die CalDAV API.

So aktivieren Sie eine API für Ihr Projekt:

  1. Öffnen Sie die API-Bibliothek in der Google API Console. Wenn Sie dazu aufgefordert werden, wählen Sie Projekt erstellen oder ein neues erstellen. In der API-Bibliothek werden alle verfügbaren APIs, gruppiert nach Produktfamilie und Beliebtheit.
  2. Wenn die gewünschte API nicht in der Liste angezeigt wird, verwenden Sie die Suche, um finden.
  3. Wählen Sie die gewünschte API aus und klicken Sie dann auf Aktivieren Schaltfläche.
  4. Aktivieren Sie die Abrechnung, wenn Sie dazu aufgefordert werden.
  5. Akzeptieren Sie die Nutzungsbedingungen der API, wenn Sie dazu aufgefordert werden.
Zum Ausführen von CalDAV API-Anfragen benötigen Sie Client-ID und Clientschlüssel.

So finden Sie die Client-ID und den Clientschlüssel Ihres Projekts:

  1. Vorhandenes OAuth 2.0 auswählen Anmeldedaten oder öffnen Sie die Seite „Anmeldedaten“.
  2. Erstellen Sie das OAuth 2.0-Snippet Ihres Projekts, falls Sie dies noch nicht getan haben. indem Sie auf Anmeldedaten erstellen > OAuth-Client-ID und geben die Informationen an, die zum Erstellen der Anmeldedaten erforderlich sind.
  3. Suchen Sie im Abschnitt OAuth 2.0-Client-IDs die Client-ID. Klicken Sie auf die Client-ID, um weitere Informationen zu erhalten.

Verbindung zum CalDAV-Server von Google herstellen

Zur Verwendung der CalDAV-Oberfläche stellt ein Client-Programm zunächst eine Verbindung zum Kalenderserver an einem von zwei Startpunkten an. In beiden Fällen kann die Verbindung müssen über HTTPS erfolgen und das OAuth 2.0 Authentifizierungsschema. Der CalDAV-Server verweigert die Authentifizierung einer Anfrage. Es sei denn, die Anfrage erfolgt über HTTPS mit OAuth 2.0-Authentifizierung eines Google-Kontos. Beim Versuch, eine Verbindung über HTTP herzustellen oder die Basisauthentifizierung zu verwenden, wird HTTP ausgegeben. 401 Unauthorized-Statuscode.

Wenn das Client-Programm (z. B. die Kalender-App von Apple) ein Hauptkontosammlung als Ausgangspunkt verwendet, lautet der URI, zu dem eine Verbindung hergestellt werden soll:

https://apidata.googleusercontent.com/caldav/v2/calid/user

Dabei muss calid durch den "Kalender-ID" des Kalenders, auf den zugegriffen werden soll. Diese finden Sie auf der Google Kalender-Weboberfläche aus: im Dropdown-Menü neben der Kalendernamen die Option Kalendereinstellungen aus. Auf der daraufhin angezeigten Seite Die Kalender-ID wird in einem Abschnitt mit der Bezeichnung Kalender Adresse. Die Kalender-ID für den Hauptkalender eines Nutzers ist identisch mit an die E-Mail-Adresse dieses Nutzers.

Wenn ein Client-Programm (z. B. Mozilla Sunbird) erfordert eine Kalendersammlung als Ausgangspunkt verwendet, lautet der URI, zu dem eine Verbindung hergestellt werden soll:

https://apidata.googleusercontent.com/caldav/v2/calid/events

Der alte Endpunkt https://www.google.com/calendar/dav ist veraltet und wird nicht mehr unterstützt. auf eigenes Risiko. Wir empfehlen Ihnen, zum oben beschriebenen neuen Endpunktformat zu wechseln.

iCal® ist eine Marke von Apple Inc.