Freebusy: query

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:
  • "groupTooBig": o grupo de usuários solicitado é muito grande para uma única consulta.
  • "tooManyCalendarsRequested": o número de agendas solicitadas é muito grande para uma única consulta.
  • "notFound": o recurso solicitado não foi encontrado.
  • "internalError": o serviço da API encontrou um erro interno.
Outros tipos de erros podem ser adicionados no futuro. Por isso, os clientes precisam processar com cuidado outros status de erro que não estão incluídos nesta lista.
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:
  • "groupTooBig": o grupo de usuários solicitado é muito grande para uma única consulta.
  • "tooManyCalendarsRequested": o número de agendas solicitadas é muito grande para uma única consulta.
  • "notFound": o recurso solicitado não foi encontrado.
  • "internalError": o serviço da API encontrou um erro interno.
Outros tipos de erros podem ser adicionados no futuro. Por isso, os clientes precisam processar com cuidado outros status de erro que não estão incluídos nesta lista.
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.