Freebusy: query

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

Requête

Requête HTTP

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

Autorisation

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

Définition du 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 des données présentant 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 pour la requête formatée conformément à la norme RFC3339.
timeMax datetime Fin de l'intervalle de la requête formatée conformément à la norme RFC3339.
timeZone string Fuseau horaire utilisé dans la réponse. Facultatif. La valeur par défaut est UTC.
groupExpansionMax integer Nombre maximal d'identifiants d'agenda à fournir pour un même groupe. Facultatif. Une erreur est renvoyée pour un groupe comportant 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 des membres de ce groupe.
groups.(key).errors[] list Erreur(s) facultative(s) (si le calcul du groupe a échoué).
groups.(key).errors[].domain string Domaine (ou catégorie large) de l'erreur.
groups.(key).errors[].reason string Motif 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 à l'avenir. Les clients doivent donc gérer correctement les états d'erreur supplémentaires qui ne figurent pas dans cette liste.
groups.(key).calendars[] list Liste des identifiants d'agendas dans un groupe.
calendars object Liste des informations de disponibilité pour les agendas.
calendars.(key) nested object Extension des disponibilités pour un seul agenda.
calendars.(key).errors[] list Erreur(s) facultative(s) (si le calcul de l'agenda a échoué).
calendars.(key).errors[].domain string Domaine (ou catégorie large) de l'erreur.
calendars.(key).errors[].reason string Motif 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 à l'avenir. Les clients doivent donc gérer correctement les états d'erreur supplémentaires qui ne figurent pas dans cette liste.
calendars.(key).busy[] list Liste des périodes pendant lesquelles 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 (exclusif) 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.