Events: instances

Muestra instancias del evento recurrente especificado. Pruébalo ahora y ve un ejemplo.

Solicitud

Solicitud HTTP

GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId/instances

Parámetros

Nombre del parámetro Valor Descripción
Parámetros de ruta de acceso
calendarId string Identificador de calendario. Para recuperar los ID de calendario, llama al método calendarList.list. Si deseas ver el calendario principal del usuario que tiene acceso actualmente, usa la palabra clave "primary".
eventId string Es el identificador de evento recurrente.
Parámetros de consulta opcionales
alwaysIncludeEmail boolean Obsoleto e ignorado. Siempre se mostrará un valor en el campo email para el organizador, el creador y los asistentes, incluso si no hay una dirección de correo electrónico real disponible (es decir, se proporcionará un valor no operativo generado).
maxAttendees integer La cantidad máxima de asistentes que se deben incluir en la respuesta. Si hay más de la cantidad especificada de asistentes, solo se muestra el participante. Opcional.
maxResults integer Cantidad máxima de eventos que se muestran en una página de resultados. De forma predeterminada, el valor es 250 eventos. El tamaño de la página no puede superar los 2,500 eventos. Opcional.
originalStart string La hora de inicio original de la instancia en el resultado. Opcional.
pageToken string El token que especifica la página de resultados que se mostrará. Opcional.
showDeleted boolean Indica si se deben incluir los eventos borrados (status es igual a "cancelled") en el resultado. Las instancias canceladas de eventos recurrentes se incluirán si singleEvents es falso. Opcional. El valor predeterminado es False.
timeMax datetime Límite superior (exclusivo) para filtrar la hora de inicio de un evento. Opcional. La configuración predeterminada no consiste en filtrar por hora de inicio. Debe ser una marca de tiempo RFC3339 con compensación de zona horaria obligatoria.
timeMin datetime Límite inferior (incluido) para filtrar la hora de finalización de un evento. Opcional. La opción predeterminada es no filtrar por hora de finalización. Debe ser una marca de tiempo RFC3339 con compensación de zona horaria obligatoria.
timeZone string Zona horaria utilizada en la respuesta. Opcional. El valor predeterminado es la zona horaria del calendario.

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
https://www.googleapis.com/auth/calendar.events.readonly
https://www.googleapis.com/auth/calendar.events

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

Cuerpo de la solicitud

No proporciones un cuerpo de solicitud con este método.

Respuesta

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

{
  "kind": "calendar#events",
  "etag": etag,
  "summary": string,
  "description": string,
  "updated": datetime,
  "timeZone": string,
  "accessRole": string,
  "defaultReminders": [
    {
      "method": string,
      "minutes": integer
    }
  ],
  "nextPageToken": string,
  "nextSyncToken": string,
  "items": [
    events Resource
  ]
}
Nombre de la propiedad Valor Descripción Notas
kind string Tipo de la colección ("calendar#events").
etag etag ETag de la colección
summary string Título del calendario. Solo lectura
description string Descripción del calendario. Solo lectura
updated datetime Última modificación del calendario (como una marca de tiempo RFC3339). Solo lectura
timeZone string La zona horaria del calendario. Solo lectura
accessRole string La función de acceso del usuario para este calendario. Solo lectura Los valores posibles son:
  • "none": El usuario no tiene acceso.
  • "freeBusyReader": El usuario tiene acceso de lectura a la información de disponibilidad.
  • "reader": El usuario tiene acceso de lectura al calendario. Los eventos privados se mostrarán a los usuarios con acceso de lectura, pero los detalles de los eventos estarán ocultos.
  • "writer": El usuario tiene acceso de lectura y escritura al calendario. Los eventos privados se mostrarán a los usuarios con acceso de escritor, y los detalles de los eventos estarán visibles.
  • "owner": El usuario es propietario del calendario. Esta función tiene todos los permisos de la función de escritor, además de la capacidad adicional de ver y manipular las LCA.
defaultReminders[] list Los recordatorios predeterminados del calendario para el usuario autenticado. Estos recordatorios se aplican a todos los eventos de este calendario que no los anulan explícitamente (es decir, no tienen el evento reminders.useDefault configurado como Verdadero).
defaultReminders[].method string Es el método que utiliza este recordatorio. Los valores posibles son:
  • "email": Los recordatorios se envían por correo electrónico.
  • "popup": Los recordatorios se envían a través de una ventana emergente de la IU.

Es obligatorio al agregar un recordatorio.

admite escritura
defaultReminders[].minutes integer Cantidad de minutos antes del inicio del evento en los que se debe activar el recordatorio. Los valores válidos deben estar entre 0 y 40,320 (4 semanas en minutos).

Es obligatorio al agregar un recordatorio.

admite escritura
nextPageToken string Es el token que se usa para acceder a la página siguiente de este resultado. Se omite si no hay más resultados disponibles, en cuyo caso se proporciona nextSyncToken
items[] list Lista de eventos del calendario.
nextSyncToken string El token que se usó más adelante para recuperar solo las entradas que cambiaron desde que se mostró este resultado. Se omite si hay más resultados disponibles, en cuyo caso se proporciona nextPageToken

Ejemplos

Nota: Los ejemplos de código disponibles para este método no representan todos los lenguajes de programación admitidos (consulta la página de bibliotecas cliente para consultar una lista de lenguajes admitidos).

Java

Usa la biblioteca cliente de Java.

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.Event;
import com.google.api.services.calendar.model.Events;

// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Iterate over the instances of a specific recurring event
String pageToken = null;
do {
  Events events =
      service.events().instances('primary', 'eventId').setPageToken(pageToken).execute();
  List<Event> items = events.getItems();
  for (Event event : items) {
    System.out.println(event.getSummary());
  }
  pageToken = events.getNextPageToken();
} while (pageToken != null);

Python

Usa la biblioteca cliente de Python.

page_token = None
while True:
  events = service.events().instances(calendarId='primary', eventId='eventId',
                                      pageToken=page_token).execute()
  for event in events['items']:
    print event['summary']
  page_token = events.get('nextPageToken')
  if not page_token:
    break

PHP

Usa la biblioteca cliente PHP.

$events = $service->events->instances('primary', "eventId");

while(true) {
  foreach ($events->getItems() as $event) {
    echo $event->getSummary();
  }
  $pageToken = $events->getNextPageToken();
  if ($pageToken) {
    $optParams = array('pageToken' => $pageToken);
    $events = $service->events->instances('primary', "eventId",
        $optParams);
  } else {
    break;
  }
}

Ruby

Usa la biblioteca cliente de Ruby.

page_token = nil
begin
  result = client.list_event_instances('primary', 'eventId')
  result.items.each do |e|
    print e.summary + "\n"
  end
  if result.next_page_token != page_token
    page_token = result.next_page_token
  else
    page_token = nil
  end
end while !page_token.nil?

Pruébela.

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