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 relativa all'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 formattata secondo RFC3339.
timeMax datetime La fine dell'intervallo per la query formattata secondo RFC3339.
timeZone string Fuso orario utilizzato nella risposta. Campo facoltativo. Il valore predefinito è UTC.
groupExpansionMax integer Numero massimo di identificatori di calendario da fornire per un singolo gruppo. Campo facoltativo. Viene restituito un errore per un gruppo con più membri rispetto a questo valore. Il valore massimo è 100.
calendarExpansionMax integer Numero massimo di calendari per i quali è necessario fornire informazioni su FreeBusy. Campo facoltativo. Il valore massimo è 50.
items[] list Elenco di calendari e/o gruppi su cui eseguire una 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 della 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 sono membri di questo gruppo.
groups.(key).errors[] list Errori facoltativi (se il calcolo del gruppo non è riuscito).
groups.(key).errors[].domain string Dominio o categoria generica dell'errore.
groups.(key).errors[].reason string Il motivo specifico dell'errore. Alcuni dei valori possibili sono:
  • "groupTooBig" - Il gruppo di utenti richiesto è troppo numeroso per una singola query.
  • "tooManyCalendarsRequested" - Il numero di calendari richiesti è troppo elevato 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 errore, per cui i client dovrebbero gestire agevolmente ulteriori stati di errore non inclusi in questo elenco.
groups.(key).calendars[] list Elenco degli identificatori dei calendari all'interno di un gruppo.
calendars object Elenco delle informazioni sulla disponibilità per i calendari.
calendars.(key) nested object Espansioni dello stato disponibile/occupato per un singolo calendario.
calendars.(key).errors[] list Errori facoltativi (se il calcolo del calendario non è riuscito).
calendars.(key).errors[].domain string Dominio o categoria generica dell'errore.
calendars.(key).errors[].reason string Il motivo specifico dell'errore. Alcuni dei valori possibili sono:
  • "groupTooBig" - Il gruppo di utenti richiesto è troppo numeroso per una singola query.
  • "tooManyCalendarsRequested" - Il numero di calendari richiesti è troppo elevato 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 errore, per cui i client dovrebbero gestire agevolmente ulteriori stati di errore non inclusi in questo elenco.
calendars.(key).busy[] list Elenco degli 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.

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