Freebusy: query

Muestra la información de disponible/ocupado para 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:

Alcance
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 los 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 de la consulta con el formato de RFC3339.
timeMax datetime El final del intervalo para la consulta con el formato de RFC3339.
timeZone string Zona horaria utilizada en la respuesta. Opcional. El valor predeterminado es UTC.
groupExpansionMax integer Es la cantidad máxima de identificadores de calendario que se proporcionarán 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 Es la cantidad máxima de calendarios en los que se debe proporcionar la información de FreeBusy. Opcional. El valor máximo es 50.
items[] list Lista de calendarios o grupos para realizar consultas.
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 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 el cálculo para el grupo falló).
groups.(key).errors[].domain string Dominio o categoría amplia del error.
groups.(key).errors[].reason string Motivo específico del error. Estos son algunos de los valores posibles:
  • groupTooBig” - El grupo de usuarios solicitado es demasiado grande para una sola consulta.
  • tooManyCalendarsRequested” - La cantidad de calendarios solicitados es demasiado grande para una sola consulta.
  • notFound” - No se encontró el recurso solicitado.
  • internalError” - Se produjo un error interno en el servicio de API.
Es posible que se agreguen otros tipos de errores en el futuro, de modo que los clientes puedan manejar sin problemas los estados de error adicionales que no están incluidos en esta lista.
groups.(key).calendars[] list Lista de calendarios identificadores dentro de un grupo.
calendars object Lista de información de disponible/ocupado para los calendarios.
calendars.(key) nested object Expansiones de disponible/ocupado para un solo calendario.
calendars.(key).errors[] list Errores opcionales (si se produjo 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. Estos son algunos de los valores posibles:
  • groupTooBig” - El grupo de usuarios solicitado es demasiado grande para una sola consulta.
  • tooManyCalendarsRequested” - La cantidad de calendarios solicitados es demasiado grande para una sola consulta.
  • notFound” - No se encontró el recurso solicitado.
  • internalError” - Se produjo un error interno en el servicio de API.
Es posible que se agreguen otros tipos de errores en el futuro, de modo que los clientes puedan manejar sin problemas los estados de error adicionales que no están incluidos en esta lista.
calendars.(key).busy[] list Lista de intervalos de tiempo durante los cuales este calendario se debe considerar como ocupado.
calendars.(key).busy[].start datetime El inicio (inclusivo) del período.
calendars.(key).busy[].end datetime El final (exclusivo) del período.

Pruébalo

Usa el Explorador de APIs que se muestra a continuación para llamar a este método en datos en vivo y ver la respuesta.