Guide du développeur de l'API CalDAV

CalDAV est une extension de WebDAV qui fournit une norme permettant aux clients d'accéder des informations d'agenda sur un serveur distant.

Google fournit une interface CalDAV qui vous permet d'afficher et de gérer vos agendas à l'aide du protocole CalDAV.

Spécifications

Pour chacune des spécifications concernées, la compatibilité avec CalDAV de Google est assurée comme suit:

  • rfc4918: Extensions HTTP pour la création distribuée sur le Web et la gestion des versions (WebDAV)
    • Accepte les méthodes HTTP GET, PUT, HEAD, DELETE, POST, OPTIONS, PROPFIND et PROPPATCH.
    • N'accepte pas les méthodes HTTP LOCK, UNLOCK, COPY, MOVE ou MKCOL ou l'en-tête If* (sauf If-Match).
    • Incompatible avec les propriétés WebDAV arbitraires (définies par l'utilisateur).
    • Non compatible avec le contrôle d'accès WebDAV (rfc3744).
  • rfc4791: Extensions d'agenda pour WebDAV (CalDAV)
    • Accepte la méthode HTTP REPORT. Tous les rapports, sauf la requête de disponibilité sont implémentées.
    • Incompatible avec la méthode HTTP MKCALENDAR.
    • Non compatible avec l'action AUDIO.
  • rfc5545: iCalendar
    • Les données exposées dans l'interface CalDAV sont formatées conformément aux Spécification iCalendar.
    • Incompatible avec les données VTODO ou VJOURNAL pour le moment.
    • Incompatible avec l'extension Apple iCal® permettant de définir des propriétés d'URL par l'utilisateur.
  • rfc6578: Synchronisation des collections pour WebDAV
    • Les applications clientes doivent passer à ce mode de fonctionnement une fois que le synchronisation initiale.
  • rfc6638: Programmer des extensions pour CalDAV
    • Prend en charge une « boîte de réception » triviale, qui est toujours vide.
    • Les invitations que vous recevez sont automatiquement transmises à vos "événements" plutôt que d'être placé dans votre "boîte de réception".
    • Incompatible avec la recherche de disponibilité.
  • caldav-ctag-02: balise d'entité de collection d'agendas (CTag) dans CalDAV
    • L'agenda ctag est semblable à une ressource etag. il change quand un élément de l'agenda a changé. Cela permet à l'application cliente déterminer rapidement qu'il n'est pas nécessaire de synchroniser les modifications événements.
  • calendar-proxy: fonctionnalité de proxy d'utilisateur d'agenda dans CalDAV
    • Pour améliorer les performances de synchronisation des agendas à partir d'appareils iOS, ne sont pas compatibles avec la délégation, à l'aide de la commande calendar-proxy-read-for ou Les propriétés calendar-proxy-write-for avec un user-agent iOS échoueront.

Nous n'avons pas encore fourni l'implémentation complète de toutes les fonctionnalités caractéristiques techniques. Toutefois, pour de nombreux clients, comme l'application Calendrier d'Apple, le protocole CalDAV devrait interagir correctement.

Remarque: Pour des raisons de sécurité et afin d'empêcher toute utilisation abusive, Google peut définir des cookies sur les applications clientes qui accèdent aux données via CalDAV.

Création de votre ID client...

Pour utiliser l'API CalDAV, vous devez Un compte Google Si vous possédez déjà un compte que vous pouvez utiliser, vous êtes prêt.

Avant de pouvoir envoyer des requêtes à l'API CalDAV, vous devez vous enregistrer votre client à l'aide de la console Google APIs en créant un projet.

Accédez à la console Google APIs. Cliquez sur Créer un projet. saisissez un nom, puis cliquez sur Créer.

L'étape suivante consiste à activer l'API CalDAV.

Pour activer une API pour votre projet, procédez comme suit :

  1. Dans la console Google APIs, ouvrez la bibliothèque d'API. Si vous y êtes invité, sélectionnez une projet ou en créer un nouveau. La bibliothèque d'API répertorie toutes les API des API, regroupées par famille de produits et par popularité.
  2. Si l'API que vous souhaitez activer n'apparaît pas dans la liste, utilisez la fonctionnalité de recherche pour la trouver.
  3. Sélectionnez l'API que vous souhaitez activer, puis cliquez sur le bouton Activer .
  4. Si vous y êtes invité, activez la facturation.
  5. Si vous y êtes invité, acceptez les conditions d'utilisation de l'API.
Pour exécuter des requêtes de l'API CalDAV, vous devez disposer des éléments suivants : Client ID (ID client) et Code secret du client.

Pour trouver l'ID client et le code secret du client pour votre projet, procédez comme suit:

  1. Sélectionner un protocole OAuth 2.0 existant identifiant ou ouvrez la page Identifiants.
  2. Si vous ne l'avez pas déjà fait, créez l'authentification OAuth 2.0 de votre projet les identifiants en cliquant sur Créer des identifiants > ID client OAuth en fournissant les informations nécessaires à la création des identifiants.
  3. Recherchez le Client ID (ID client) dans la section ID client OAuth 2.0. Pour plus d'informations, cliquez sur l'ID client.

Connexion au serveur CalDAV de Google

Pour utiliser l'interface CalDAV, un programme client se connecte initialement serveur d'agenda sur l'un des deux points de départ. Dans les deux cas, la connexion doivent être effectuées via HTTPS et utiliser le protocole OAuth 2.0 ; d'authentification unique. Le serveur CalDAV refuse d'authentifier une requête sauf s'il arrive par HTTPS avec l'authentification OAuth 2.0 d'un compte Google. Toute tentative de connexion via HTTP ou l'authentification de base entraîne une Code d'état 401 Unauthorized.

Si le programme client (tel que l'application Calendrier d'Apple) nécessite un principale comme point de départ, l'URI à laquelle se connecter est:

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

calid doit être remplacé par "ID de l'agenda" de l'agenda. Pour ce faire, accédez au l'interface Web de Google Agenda, comme suit: dans le menu déroulant à côté de nom de l'agenda, sélectionnez Paramètres de l'agenda. Sur la page qui s'affiche l'ID de l'agenda figure dans la section intitulée Agenda Adresse. L'ID de l'agenda principal d'un utilisateur est le même que l'adresse e-mail de cet utilisateur.

Si un programme client (tel que Mozilla Sunbird, par exemple), requiert collection d'agendas comme point de départ, l'URI auquel se connecter est la suivante:

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

L'ancien point de terminaison https://www.google.com/calendar/dav est sont obsolètes et ne sont plus prises en charge ; l'utiliser à vos propres risques. Nous vous recommandons de passer au nouveau format de point de terminaison décrit ci-dessus.

iCal® est une marque d'Apple Inc.