Freebusy: query

Devuelve información de disponibilidad 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 permisos:

Alcance
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 obtener más información, consulta la página 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 Es el final del intervalo de la consulta con el formato de RFC3339.
timeZone string Es la zona horaria que se usa en la respuesta. Opcional. El valor predeterminado es UTC.
groupExpansionMax integer Es 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 Es la cantidad máxima de calendarios para los que se debe proporcionar información de disponibilidad. Opcional. El valor máximo es 50.
items[] list Es la lista de calendarios o grupos que se consultarán.
items[].id string Es el identificador de un calendario o un 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 El final del intervalo.
groups object Expansión de grupos
groups.(key) nested object Es la lista de calendarios que son miembros de este grupo.
groups.(key).errors[] list Errores opcionales (si falló el procesamiento del grupo)
groups.(key).errors[].domain string Es el dominio o la categoría amplia del error.
groups.(key).errors[].reason string Es el 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": El servicio de la API encontró un error interno.
Es posible que se agreguen otros tipos de errores en el futuro, por lo que los clientes deben controlar de forma fluida los estados de error adicionales que no se incluyen en esta lista.
groups.(key).calendars[] list Es la lista de identificadores de calendarios dentro de un grupo.
calendars object Es la lista de información de disponibilidad de los calendarios.
calendars.(key) nested object Expansiones de disponibilidad para un solo calendario
calendars.(key).errors[] list Errores opcionales (si falló el procesamiento del calendario)
calendars.(key).errors[].domain string Es el dominio o la categoría amplia del error.
calendars.(key).errors[].reason string Es el 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": El servicio de la API encontró un error interno.
Es posible que se agreguen otros tipos de errores en el futuro, por lo que los clientes deben controlar de forma fluida los estados de error adicionales que no se incluyen en esta lista.
calendars.(key).busy[] list Es la lista de períodos durante los cuales este calendario debe considerarse ocupado.
calendars.(key).busy[].start datetime El inicio (inclusivo) del período.
calendars.(key).busy[].end datetime Es el final (exclusivo) del período.

Pruébalo

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