Freebusy: query

Restituisce informazioni su disponibilità/prenotazione per un insieme di calendari. Prova subito.

Richiesta

Richiesta HTTP

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

Autorizzazione

Questa richiesta consente l'autorizzazione con almeno uno dei seguenti ambiti:

Ambito
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events.freebusy
https://www.googleapis.com/auth/calendar.freebusy

Per ulteriori informazioni, consulta la pagina Autenticazione e autorizzazione.

Corpo della richiesta

Nel corpo della richiesta, fornisci i dati con la seguente struttura:

{
  "timeMin": datetime,
  "timeMax": datetime,
  "timeZone": string,
  "groupExpansionMax": integer,
  "calendarExpansionMax": integer,
  "items": [
    {
      "id": string
    }
  ]
}
Nome proprietà Valore Descrizione Note
timeMin datetime L'inizio dell'intervallo per la query formattato in base allo standard RFC3339.
timeMax datetime La fine dell'intervallo per la query formattata in base allo standard RFC3339.
timeZone string Fuso orario utilizzato nella risposta. Facoltativo. Il valore predefinito è UTC.
groupExpansionMax integer Numero massimo di identificatori di calendario da fornire per un singolo gruppo. Facoltativo. Viene restituito un errore per un gruppo con più membri di questo valore. Il valore massimo è 100.
calendarExpansionMax integer Numero massimo di calendari per i quali devono essere fornite le informazioni su disponibilità. Facoltativo. Il valore massimo è 50.
items[] list Elenco di calendari e/o gruppi su cui eseguire query.
items[].id string L'identificatore di un calendario o di un gruppo.

Risposta

In caso di esito positivo, questo metodo restituisce un corpo della risposta con la seguente struttura:

{
  "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
        }
      ]
    }
  }
}
Nome proprietà Valore Descrizione Note
kind string Tipo di risorsa ("calendar#freeBusy").
timeMin datetime L'inizio dell'intervallo.
timeMax datetime La fine dell'intervallo.
groups object Espansione dei gruppi.
groups.(key) nested object Elenco dei calendari che fanno parte di questo gruppo.
groups.(key).errors[] list Errori facoltativi (se il calcolo per il gruppo non è riuscito).
groups.(key).errors[].domain string Dominio o categoria generale dell'errore.
groups.(key).errors[].reason string Motivo specifico dell'errore. Ecco alcuni dei valori possibili:
  • "groupTooBig": il gruppo di utenti richiesto è troppo grande per una singola query.
  • "tooManyCalendarsRequested": il numero di calendari richiesti è troppo elevato per una singola query.
  • "notFound": la risorsa richiesta non è stata trovata.
  • "internalError": il servizio API ha riscontrato un errore interno.
In futuro potrebbero essere aggiunti altri tipi di errori, pertanto i client devono gestire in modo corretto gli stati di errore aggiuntivi non inclusi in questo elenco.
groups.(key).calendars[] list Elenco degli identificatori dei calendari all'interno di un gruppo.
calendars object Elenco di informazioni su disponibilità/impegni per i calendari.
calendars.(key) nested object Espansioni disponibili/occupate per un singolo calendario.
calendars.(key).errors[] list Errori facoltativi (se il calcolo per il calendario non è riuscito).
calendars.(key).errors[].domain string Dominio o categoria generale dell'errore.
calendars.(key).errors[].reason string Motivo specifico dell'errore. Ecco alcuni dei valori possibili:
  • "groupTooBig": il gruppo di utenti richiesto è troppo grande per una singola query.
  • "tooManyCalendarsRequested": il numero di calendari richiesti è troppo elevato per una singola query.
  • "notFound": la risorsa richiesta non è stata trovata.
  • "internalError": il servizio API ha riscontrato un errore interno.
In futuro potrebbero essere aggiunti altri tipi di errori, pertanto i client devono gestire in modo corretto gli stati di errore aggiuntivi non inclusi in questo elenco.
calendars.(key).busy[] list Elenco di intervalli di tempo durante i quali questo calendario deve essere considerato occupato.
calendars.(key).busy[].start datetime L'inizio (incluso) del periodo di tempo.
calendars.(key).busy[].end datetime La fine (esclusiva) del periodo di tempo.

Prova

Utilizza l'Explorer API di seguito per chiamare questo metodo sui dati in tempo reale e visualizzare la risposta.