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.