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 de calendario. Para recuperar los ID del calendario, llama al método calendarList.list. Si quieres acceder al calendario principal del usuario que accedió, usa "primary" palabra clave.
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 funciona).
maxAttendees integer Es la cantidad máxima de asistentes que se deben incluir en la respuesta. Si el número de asistentes supera la cantidad especificada, solo se devuelve el participante. Opcional.
maxResults integer Cantidad máxima de eventos mostrados 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 debe mostrar. Opcional.
showDeleted boolean Indica si se deben incluir eventos borrados (con status es igual a "cancelled") en el resultado. Las instancias canceladas de eventos recurrentes se incluirán si el valor de singleEvents es falso. Opcional. El valor predeterminado es False.
timeMax datetime Es el límite superior (exclusivo) de la hora de inicio de un evento para filtrar. Opcional. La opción predeterminada no es filtrar por hora de inicio. Debe ser una marca de tiempo RFC3339 con el desplazamiento de zona horaria obligatorio.
timeMin datetime Límite inferior (inclusivo) para 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 el desplazamiento de zona horaria obligatorio.
timeZone string Zona horaria utilizada en la respuesta. Opcional. La zona horaria predeterminada es la 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 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 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 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 El rol de acceso del usuario en 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 del evento.
  • 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 del evento serán visibles.
  • 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 LCA.
defaultReminders[] list Los recordatorios predeterminados en el 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, no tienes el parámetro reminders.useDefault establecido como verdadero).
defaultReminders[].method string Indica 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.

Es obligatorio para 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 están entre 0 y 40,320 (4 semanas en minutos).

Es obligatorio para agregar un recordatorio.

admite escritura
nextPageToken string Token utilizado para acceder a la siguiente página de este resultado. Se omite si no hay más resultados disponibles. En ese caso, se proporciona nextSyncToken.
items[] list Lista de eventos del calendario.
nextSyncToken string Es 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 ese 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

Utiliza la biblioteca cliente 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

Utiliza 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;
  }
}

Rita

Utiliza 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 se muestra a continuación para llamar a este método en datos en vivo y ver la respuesta.