Freebusy: query

Muestra la información de disponible/ocupado de un conjunto de calendarios. Pruébalo ahora.

Solicitud

Solicitud HTTP

POST https://www.googleapis.com/calendar/v3/freeBusy

Autorización

Esta solicitud permite la autorización con al menos uno de los siguientes alcances:

Permiso
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar

Para obtener más información, consulta la página de autenticación y autorización.

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporciona datos con la siguiente estructura:

{
  "timeMin": datetime,
  "timeMax": datetime,
  "timeZone": string,
  "groupExpansionMax": integer,
  "calendarExpansionMax": integer,
  "items": [
    {
      "id": string
    }
  ]
}
Nombre de la propiedad Valor Descripción Notas
timeMin datetime El inicio del intervalo para la consulta con el formato RFC3339.
timeMax datetime El final del intervalo para la consulta con el formato RFC3339.
timeZone string Es la zona horaria que se usa en la respuesta. Opcional. El valor predeterminado es UTC.
groupExpansionMax integer La cantidad máxima de identificadores de calendario que se deben proporcionar para un solo grupo. Opcional. Se muestra un error para un grupo con más miembros que este valor. El valor máximo es 100.
calendarExpansionMax integer La cantidad máxima de calendarios para los que se debe proporcionar información de FreeBusy. Opcional. El valor máximo es 50.
items[] list Lista de calendarios o grupos para consultar.
items[].id string Es el identificador de un calendario o grupo.

Respuesta

Si se aplica correctamente, este método muestra un cuerpo de respuesta con la siguiente estructura:

{
  "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
        }
      ]
    }
  }
}
Nombre de la propiedad Valor Descripción Notas
kind string Es el tipo de recurso ("calendar#freeBusy").
timeMin datetime El inicio del intervalo.
timeMax datetime Final del intervalo.
groups object Expansión de grupos
groups.(key) nested object Lista de calendarios que son miembros de este grupo.
groups.(key).errors[] list Errores opcionales (si falla el cálculo para el grupo).
groups.(key).errors[].domain string Dominio o categoría amplia del error.
groups.(key).errors[].reason string Motivo específico del error. Algunos de los valores posibles son:
  • "groupTooBig": El grupo de usuarios solicitado es demasiado grande para una sola búsqueda.
  • "tooManyCalendarsRequested": La cantidad de calendarios solicitados es demasiado grande para una sola consulta.
  • "notFound": No se encontró el recurso solicitado.
  • "internalError": El servicio de la API encontró un error interno.
Es posible que se agreguen más tipos de errores en el futuro, por lo que los clientes deberían manejar correctamente los estados de error adicionales que no se incluyen en esta lista.
groups.(key).calendars[] list Lista de identificadores de calendarios dentro de un grupo.
calendars object Lista de información de disponible/ocupado de los calendarios.
calendars.(key) nested object Expansiones de disponible/ocupado en un solo calendario
calendars.(key).errors[] list Errores opcionales (si se produce un error en el cálculo del calendario).
calendars.(key).errors[].domain string Dominio o categoría amplia del error.
calendars.(key).errors[].reason string Motivo específico del error. Algunos de los valores posibles son:
  • "groupTooBig": El grupo de usuarios solicitado es demasiado grande para una sola búsqueda.
  • "tooManyCalendarsRequested": La cantidad de calendarios solicitados es demasiado grande para una sola consulta.
  • "notFound": No se encontró el recurso solicitado.
  • "internalError": El servicio de la API encontró un error interno.
Es posible que se agreguen más tipos de errores en el futuro, por lo que los clientes deberían manejar correctamente los estados de error adicionales que no se incluyen en esta lista.
calendars.(key).busy[] list Lista de intervalos de tiempo durante los cuales este calendario debe considerarse ocupado.
calendars.(key).busy[].start datetime El inicio (inclusivo) del período.
calendars.(key).busy[].end datetime El final (exclusivo) del período.

Pruébala

Usa el Explorador de APIs que aparece a continuación para llamar a este método con datos en tiempo real y ver la respuesta.