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:

Portée
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 avec la structure suivante:

{
  "timeMin": datetime,
  "timeMax": datetime,
  "timeZone": string,
  "groupExpansionMax": integer,
  "calendarExpansionMax": integer,
  "items": [
    {
      "id": string
    }
  ]
}
Nom de propriété Value Description Remarques
timeMin datetime Début de l'intervalle pour la requête au format RFC3339.
timeMax datetime Fin de l'intervalle pour la requête au format 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 par groupe. Facultatif. Une erreur s'affiche pour un groupe comptant plus de membres que cette valeur. La valeur maximale est 100.
calendarExpansionMax integer Nombre maximal d'agendas pour lesquels des informations de disponibilité sont 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é Value 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 Développement de 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 générale de l'erreur.
groups.(key).errors[].reason string Cause spécifique de l'erreur. Voici certaines 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" : une erreur interne s'est produite au niveau du service API.
D'autres types d'erreurs pouvant être ajoutés ultérieurement, les clients doivent traiter correctement les états d'erreur supplémentaires qui ne figurent pas dans cette liste.
groups.(key).calendars[] list Liste des identifiants d'agenda dans un groupe.
calendars object Liste des informations de disponibilité des agendas.
calendars.(key) nested object Disponibilité des disponibilités pour un seul agenda.
calendars.(key).errors[] list Erreur(s) facultative(s) (en cas d'échec du calcul de l'agenda)
calendars.(key).errors[].domain string Domaine ou catégorie générale de l'erreur.
calendars.(key).errors[].reason string Cause spécifique de l'erreur. Voici certaines 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" : une erreur interne s'est produite au niveau du service API.
D'autres types d'erreurs pouvant être ajoutés ultérieurement, les clients doivent traiter 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 (exclusive) 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.