Retorna informações de disponibilidade/ocupação para um conjunto de agendas. Faça o teste agora.
Solicitação
Solicitação HTTP
POST https://www.googleapis.com/calendar/v3/freeBusy
Autorização
Esta solicitação permite a autorização com pelo menos um dos seguintes escopos:
| Escopo | 
|---|
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 | 
Para mais informações, consulte a página de autenticação e autorização.
Corpo da solicitação
No corpo da solicitação, forneça os dados com a seguinte estrutura:
{
  "timeMin": datetime,
  "timeMax": datetime,
  "timeZone": string,
  "groupExpansionMax": integer,
  "calendarExpansionMax": integer,
  "items": [
    {
      "id": string
    }
  ]
}| Nome da propriedade | Valor | Descrição | Observações | 
|---|---|---|---|
timeMin | 
        datetime | 
        O início do intervalo da consulta formatado de acordo com o RFC3339. | |
timeMax | 
        datetime | 
        O fim do intervalo da consulta formatado de acordo com o RFC3339. | |
timeZone | 
        string | 
        Fuso horário usado na resposta. Opcional. O padrão é UTC. | |
groupExpansionMax | 
        integer | 
        Número máximo de identificadores de calendário que podem ser fornecidos para um único grupo. Opcional. Um erro é retornado para um grupo com mais membros do que esse valor. O valor máximo é 100. | |
calendarExpansionMax | 
        integer | 
        Número máximo de agendas para as quais as informações de disponibilidade precisam ser fornecidas. Opcional. O valor máximo é 50. | |
items[] | 
        list | 
        Lista de agendas e/ou grupos a serem consultados. | |
items[].id | 
        string | 
        Identificador de uma agenda ou de um grupo. | 
Resposta
Se for bem-sucedido, esse método retornará um corpo de resposta com esta estrutura:
{
  "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 da propriedade | Valor | Descrição | Observações | 
|---|---|---|---|
kind | 
        string | 
        Tipo do recurso ("calendar#freeBusy"). | |
timeMin | 
        datetime | 
        O início do intervalo. | |
timeMax | 
        datetime | 
        O fim do intervalo. | |
groups | 
        object | 
        Expansão de grupos. | |
groups.(key) | 
        nested object | 
        Lista de agendas que são membros deste grupo. | |
groups.(key).errors[] | 
        list | 
        Erros opcionais (se a computação do grupo tiver falhado). | |
groups.(key).errors[].domain | 
        string | 
        Domínio ou categoria ampla do erro. | |
groups.(key).errors[].reason | 
        string | 
        Motivo específico do erro. Alguns dos valores possíveis são: 
  | 
        |
groups.(key).calendars[] | 
        list | 
        Lista de identificadores de agendas em um grupo. | |
calendars | 
        object | 
        Lista de informações de disponibilidade/ocupação para agendas. | |
calendars.(key) | 
        nested object | 
        Expansões de disponibilidade para uma única agenda. | |
calendars.(key).errors[] | 
        list | 
        Erros opcionais (se a computação da agenda falhou). | |
calendars.(key).errors[].domain | 
        string | 
        Domínio ou categoria ampla do erro. | |
calendars.(key).errors[].reason | 
        string | 
        Motivo específico do erro. Alguns dos valores possíveis são: 
  | 
        |
calendars.(key).busy[] | 
        list | 
        Lista de períodos em que a agenda deve ser considerada ocupada. | |
calendars.(key).busy[].start | 
        datetime | 
        O início (inclusive) do período. | |
calendars.(key).busy[].end | 
        datetime | 
        O fim (exclusivo) do período. | 
Confira!
Use o APIs Explorer abaixo para chamar esse método em dados ativos e ver a resposta.