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 IDs de calendario, llama al método calendarList.list. Si deseas acceder al calendario principal del usuario que accedió actualmente, usa la palabra clave "primary".
eventId string Es el identificador del evento recurrente.
Parámetros de consulta opcionales
alwaysIncludeEmail boolean Dejó de estar disponible y se ignora. 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 Es 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 Es la 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 nunca puede ser superior a 2,500 eventos. Opcional.
originalStart string La hora de inicio original de la instancia en el resultado. Opcional.
pageToken string Es un token que especifica qué página de resultados se mostrará. Opcional.
showDeleted boolean Indica si se deben incluir los eventos borrados (con status igual a "cancelled") en el resultado. Las instancias canceladas de eventos recurrentes se seguirán incluyendo si singleEvents es False. Opcional. El valor predeterminado es False.
timeMax datetime Límite superior (exclusivo) para filtrar por la hora de inicio de un evento. Opcional. La configuración predeterminada es no filtrar por hora de inicio. Debe ser una marca de tiempo RFC3339 con un desplazamiento de zona horaria obligatorio.
timeMin datetime Es el límite inferior (inclusive) de la hora de finalización de un evento por el que se filtra. Opcional. La configuración predeterminada es no filtrar por hora de finalización. Debe ser una marca de tiempo RFC3339 con un desplazamiento de zona horaria obligatorio.
timeZone string Es la zona horaria que se usa 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 permisos:

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
https://www.googleapis.com/auth/calendar.app.created
https://www.googleapis.com/auth/calendar.events.freebusy
https://www.googleapis.com/auth/calendar.events.owned
https://www.googleapis.com/auth/calendar.events.owned.readonly
https://www.googleapis.com/auth/calendar.events.public.readonly

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

Cuerpo de la solicitud

No proporciones un cuerpo de la 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 la colección ("calendar#events").
etag etag ETag de la colección.
summary string Es el título del calendario. Solo lectura.
description string 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 Es 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 los siguientes:
  • "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 aparecerán para los usuarios con acceso de lectura, pero se ocultarán los detalles.
  • "writer": El usuario tiene acceso de lectura y escritura al calendario. Los eventos privados aparecerán para los usuarios con acceso de escritor, y se podrán ver sus detalles.
  • "owner": El usuario es propietario del calendario. Este rol tiene todos los permisos del rol de escritor con la capacidad adicional de ver y manipular las ACL.
defaultReminders[] list Los recordatorios predeterminados del calendario del usuario autenticado Estos recordatorios se aplican a todos los eventos de este calendario que no los anulan de forma explícita (es decir, que no tienen reminders.useDefault establecido como verdadero).
defaultReminders[].method string Es el método que usa este recordatorio. Los valores posibles son los siguientes:
  • "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 cuando se agrega un recordatorio.

admite escritura
defaultReminders[].minutes integer Es la cantidad de minutos antes del inicio del evento en los que se debe activar el recordatorio. Los valores válidos están entre 0 y 40320 (4 semanas en minutos).

Obligatorio cuando se agrega un recordatorio.

admite escritura
nextPageToken string Es el token que se usa para acceder a la siguiente página 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 Es un 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 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é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.