Freebusy: query

Restituisce le informazioni sulla disponibilità 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

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 a RFC3339.
timeMax datetime La fine dell'intervallo per la query formattato in base a 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 è necessario fornire informazioni su FreeBusy. (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 membri di questo gruppo.
groups.(key).errors[] list Errori facoltativi (se il calcolo del gruppo non è riuscito).
groups.(key).errors[].domain string Il dominio, o la categoria generica, dell'errore.
groups.(key).errors[].reason string Motivo specifico dell'errore. Alcuni dei valori possibili sono:
  • "groupTooBig" - Il gruppo di utenti richiesto è troppo grande per una singola query.
  • "tooManyCalendarsRequested" - Il numero di calendari richiesti è troppo grande per una singola query.
  • "notFound" - La risorsa richiesta non è stata trovata.
  • "internalError" - Si è verificato un errore interno del servizio API.
In futuro potrebbero essere aggiunti altri tipi di errori, quindi i clienti dovrebbero gestire agevolmente altri stati di errore non inclusi in questo elenco.
groups.(key).calendars[] list Elenco dei calendari identificatori all'interno di un gruppo.
calendars object Elenco delle informazioni disponibile/occupato per i calendari.
calendars.(key) nested object Espansioni della disponibilità per un singolo calendario.
calendars.(key).errors[] list Errori facoltativi (se il calcolo del calendario non è riuscito).
calendars.(key).errors[].domain string Il dominio, o la categoria generica, dell'errore.
calendars.(key).errors[].reason string Motivo specifico dell'errore. Alcuni dei valori possibili sono:
  • "groupTooBig" - Il gruppo di utenti richiesto è troppo grande per una singola query.
  • "tooManyCalendarsRequested" - Il numero di calendari richiesti è troppo grande per una singola query.
  • "notFound" - La risorsa richiesta non è stata trovata.
  • "internalError" - Si è verificato un errore interno del servizio API.
In futuro potrebbero essere aggiunti altri tipi di errori, quindi i clienti dovrebbero gestire agevolmente altri stati di errore non inclusi in questo elenco.
calendars.(key).busy[] list Elenco di intervalli di tempo durante i quali il 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

Usa Explorer API in basso per chiamare questo metodo sui dati in tempo reale e visualizzare la risposta.