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 Es el identificador del calendario. Para recuperar los ID de calendario, llama al método calendarList.list. Si quieres acceder al calendario principal del usuario actual, usa la palabra clave “primary”.
eventId string Es el identificador de eventos recurrentes.
Parámetros de consulta opcionales
alwaysIncludeEmail boolean Se ignoró y dejó de estar disponible. 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 generado que no funcione).
maxAttendees integer Indica la cantidad máxima de asistentes que se deben incluir en la respuesta. Si la cantidad de asistentes supera la cantidad especificada, solo se devolverá al participante. Opcional.
maxResults integer Cantidad máxima de eventos que se muestran en una página de resultados. De forma predeterminada, el valor es de 250 eventos. El tamaño de la página nunca puede superar los 2,500 eventos. Opcional.
originalStart string La hora de inicio original de la instancia en el resultado. Opcional.
pageToken string Token que especifica qué página de resultados se mostrará. Opcional.
showDeleted boolean Indica si se deben incluir eventos borrados (con status es igual a "cancelled") en el resultado. Se seguirán incluyendo las instancias canceladas de eventos recurrentes si singleEvents es falso. Opcional. El valor predeterminado es False.
timeMax datetime Límite superior (exclusivo) de la hora de inicio de un evento para filtrar. Opcional. La configuración predeterminada es no filtrar por hora de inicio. Debe ser una marca de tiempo RFC3339 con desplazamiento de zona horaria obligatorio.
timeMin datetime Límite inferior (inclusivo) de la hora de finalización de un evento para filtrar. Opcional. La configuración predeterminada no es filtrar por hora de finalización. Debe ser una marca de tiempo RFC3339 con desplazamiento de zona horaria obligatorio.
timeZone string Es la zona horaria que se usa en la respuesta. Opcional. La zona horaria predeterminada del calendario es la predeterminada.

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
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 Es el tipo de colección ("calendar#events").
etag etag ETag de la colección.
summary string Es el título del calendario. Solo lectura.
description string Es la descripción del calendario. Solo lectura.
updated datetime Es la hora de la última modificación del calendario (como una marca de tiempo RFC3339). Solo lectura.
timeZone string La zona horaria del calendario. Solo lectura.
accessRole string Es el rol 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 disponible/ocupado.
  • "reader": El usuario tiene acceso de lectura al calendario. Los eventos privados se mostrarán a los usuarios con acceso de lectura, pero se ocultarán los detalles de los eventos.
  • "writer": El usuario tiene acceso de lectura y escritura al calendario. Los eventos privados serán visibles para los usuarios con acceso de escritor y los detalles del evento serán visibles.
  • "owner": El usuario es propietario del calendario. Este rol cuenta con todos los permisos del rol de escritor, además de la capacidad adicional de ver y manipular las LCA.
defaultReminders[] list Los recordatorios predeterminados en el calendario para el usuario autenticado. Estos recordatorios se aplican a todos los eventos de este calendario que no los anulan de forma explícita (es decir, no tienen el valor reminders.useDefault establecido en Verdadero).
defaultReminders[].method string Es el método que usa 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.

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 se encuentran entre 0 y 40,320 (4 semanas en minutos).

Obligatorio al agregar un recordatorio.

admite escritura
nextPageToken string 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 Es la lista de eventos del calendario.
nextSyncToken string El token que se usa 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 de 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 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é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.