Freebusy: query

Affiche les informations de disponibilité pour un ensemble d'agendas. Essayer maintenant

Requête

Requête HTTP

POST https://www.googleapis.com/calendar/v3/freeBusy

Autorisation

Cette requête autorise l'autorisation avec au moins l'un des champs d'application suivants:

Champ d'application
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar

Pour en savoir plus, consultez la page Authentification et autorisation.

Corps de la requête

Dans le corps de la requête, fournissez les données selon la structure suivante:

{
  "timeMin": datetime,
  "timeMax": datetime,
  "timeZone": string,
  "groupExpansionMax": integer,
  "calendarExpansionMax": integer,
  "items": [
    {
      "id": string
    }
  ]
}
Nom de propriété Valeur Description Remarques
timeMin datetime Début de l'intervalle de la requête formaté conformément à la RFC3339.
timeMax datetime Fin de l'intervalle pour la requête formatée conformément à la RFC3339.
timeZone string Fuseau horaire utilisé dans la réponse. Facultatif. Le fuseau horaire par défaut est UTC.
groupExpansionMax integer Nombre maximal d'identifiants d'agenda à fournir pour un seul groupe. Facultatif. Une erreur est renvoyée lorsqu'un groupe compte plus de membres que cette valeur. La valeur maximale est 100.
calendarExpansionMax integer Nombre maximal d'agendas pour lesquels des informations FreeBusy doivent être fournies. Facultatif. La valeur maximale est 50.
items[] list Liste des agendas et/ou des groupes à interroger.
items[].id string Identifiant d'un agenda ou d'un groupe.

Réponse

Si la requête aboutit, cette méthode renvoie un corps de réponse présentant la structure suivante :

{
  "kind": "calendar#freeBusy",
  "timeMin": datetime,
  "timeMax": datetime,
  "groups": {
    (key): {
      "errors": [
        {
          "domain": string,
          "reason": string
        }
      ],
      "calendars": [
        string
      ]
    }
  },
  "calendars": {
    (key): {
      "errors": [
        {
          "domain": string,
          "reason": string
        }
      ],
      "busy": [
        {
          "start": datetime,
          "end": datetime
        }
      ]
    }
  }
}
Nom de propriété Valeur Description Remarques
kind string Type de la ressource ("calendar#freeBusy").
timeMin datetime Début de l'intervalle.
timeMax datetime Fin de l'intervalle.
groups object Expansion des groupes.
groups.(key) nested object Liste des agendas membres de ce groupe.
groups.(key).errors[] list Erreur(s) facultative(s) (en cas d'échec du calcul pour le groupe).
groups.(key).errors[].domain string Domaine, ou catégorie large, de l'erreur.
groups.(key).errors[].reason string Raison spécifique de l'erreur. Voici quelques-unes des valeurs possibles:
  • "groupTooBig" - Le groupe d'utilisateurs demandé est trop volumineux pour une seule requête.
  • "tooManyCalendarsRequested" - Le nombre d'agendas demandés est trop élevé pour une seule requête.
  • "notFound" - La ressource demandée est introuvable.
  • "internalError" - Le service d'API a rencontré une erreur interne.
D'autres types d'erreurs pourront être ajoutés ultérieurement. Les clients doivent donc gérer les états d'erreur supplémentaires qui ne figurent pas dans cette liste.
groups.(key).calendars[] list Liste des agendas d’identifiants dans un groupe.
calendars object Liste des informations de disponibilité pour les agendas.
calendars.(key) nested object Disponibilités étendues pour un seul agenda
calendars.(key).errors[] list Erreur(s) facultative(s) (en cas d'échec du calcul pour l'agenda).
calendars.(key).errors[].domain string Domaine, ou catégorie large, de l'erreur.
calendars.(key).errors[].reason string Raison spécifique de l'erreur. Voici quelques-unes des valeurs possibles:
  • "groupTooBig" - Le groupe d'utilisateurs demandé est trop volumineux pour une seule requête.
  • "tooManyCalendarsRequested" - Le nombre d'agendas demandés est trop élevé pour une seule requête.
  • "notFound" - La ressource demandée est introuvable.
  • "internalError" - Le service d'API a rencontré une erreur interne.
D'autres types d'erreurs pourront être ajoutés ultérieurement. Les clients doivent donc gérer les états d'erreur supplémentaires qui ne figurent pas dans cette liste.
calendars.(key).busy[] list Liste des périodes au cours desquelles cet agenda doit être considéré comme occupé.
calendars.(key).busy[].start datetime Début (inclus) de la période.
calendars.(key).busy[].end datetime Fin (exclue) de la période.

Essayer

Utilisez l'explorateur d'API ci-dessous pour appeler cette méthode sur des données en direct, puis observez la réponse.