Events: list

Gibt Termine im angegebenen Kalender zurück Probieren Sie es jetzt aus oder sehen Sie sich ein Beispiel an.

Anfrage

HTTP-Anfrage

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

Parameter

Parametername Wert Beschreibung
Pfadparameter
calendarId string Kalender-ID. Rufen Sie die Methode calendarList.list auf, um Kalender-IDs abzurufen. Wenn Sie auf den Hauptkalender des aktuell angemeldeten Nutzers zugreifen möchten, verwenden Sie den Suchbegriff „primary“.
Optionale Abfrageparameter
alwaysIncludeEmail boolean Verworfen und ignoriert.
eventTypes string Die Ereignistypen, die zurückgegeben werden sollen. Optional. Dieser Parameter kann mehrmals wiederholt werden, um Ereignisse verschiedener Typen zurückzugeben. Wenn kein Wert festgelegt ist, werden alle Ereignistypen zurückgegeben.

Zulässige Werte sind:
  • birthday“: Besondere ganztägige Ereignisse, die jährlich wiederkehren.
  • "default": Regelmäßige Ereignisse.
  • focusTime“: Fokuszeittermine.
  • fromGmail“: Termine aus Gmail
  • outOfOffice“: Außer-Haus-Termine.
  • workingLocation“: Ereignisse für den Arbeitsort
iCalUID string Gibt eine Ereignis-ID im iCalendar-Format an, die in der Antwort enthalten sein muss. Optional. Verwenden Sie diese Option, wenn Sie nach einem Termin anhand seiner iCalendar-ID suchen möchten.
maxAttendees integer Die maximale Anzahl der Teilnehmer, die in der Antwort enthalten sein sollen. Wenn die Anzahl der Teilnehmer über der angegebenen Anzahl liegt, wird nur der Teilnehmer zurückgegeben. Optional.
maxResults integer Maximale Anzahl von Ereignissen, die auf einer Ergebnisseite zurückgegeben werden. Die Anzahl der Ereignisse auf der Ergebnisseite kann unter diesem Wert liegen oder es können gar keine Ereignisse vorhanden sein, auch wenn mehr Ereignisse mit der Abfrage übereinstimmen. Unvollständige Seiten können anhand eines nicht leeren nextPageToken-Felds in der Antwort erkannt werden. Der Standardwert ist 250 Ereignisse. Die Seitengröße darf maximal 2.500 Ereignisse umfassen. Optional.
orderBy string Die Reihenfolge der im Ergebnis zurückgegebenen Ereignisse. Optional. Die Standardeinstellung ist eine nicht spezifizierte, stabile Reihenfolge.

Zulässige Werte sind:
  • "startTime": Sortiert nach Startdatum/-uhrzeit (aufsteigend). Diese Option ist nur bei der Abfrage einzelner Ereignisse verfügbar, d. h., der Parameter singleEvents ist „True“.
  • updated“: Nach dem Datum der letzten Änderung sortieren (aufsteigend).
pageToken string Token, das angibt, welche Ergebnisseite zurückgegeben werden soll. Optional.
privateExtendedProperty string Einschränkung für erweiterte Attribute, angegeben als propertyName=value. Nur mit privaten Unterkünften übereinstimmen Dieser Parameter kann mehrmals wiederholt werden, um Ereignisse zurückzugeben, die allen angegebenen Einschränkungen entsprechen.
q string Mit Freitextsuchbegriffen können Sie Ereignisse finden, die diesen Begriffen in den folgenden Feldern entsprechen:
  • summary
  • description
  • location
  • des Teilnehmers displayName
  • des Teilnehmers email
  • displayName des Organisators
  • des Organisators email
  • workingLocationProperties.officeLocation.buildingId
  • workingLocationProperties.officeLocation.deskId
  • workingLocationProperties.officeLocation.label
  • workingLocationProperties.customLocation.label

Außerdem werden mit diesen Suchbegriffen vordefinierte Keywords mit allen Übersetzungen des Anzeigenamens von Ereignissen für den Arbeitsort, Abwesenheit und Fokuszeit abgeglichen. Wenn Sie beispielsweise nach „Büro“ oder „Bureau“ suchen, werden Termine vom Typ officeLocation als Arbeitsorte ausgegeben, während die Suche nach „Außer Haus“ oder „Kreis“ Außer-Haus-Termine zurückgibt. Optional.

sharedExtendedProperty string Einschränkung für erweiterte Eigenschaften, die als propertyName=value angegeben ist. Nur mit geteilten Unterkünften übereinstimmen Dieser Parameter kann mehrmals wiederholt werden, um Ereignisse zurückzugeben, die allen angegebenen Einschränkungen entsprechen.
showDeleted boolean Gibt an, ob gelöschte Ereignisse (mit status gleich „cancelled“) in das Ergebnis aufgenommen werden sollen. Abgesagte Instanzen wiederkehrender Termine (jedoch nicht die zugrunde liegenden wiederkehrenden Termine) werden weiterhin eingeschlossen, wenn sowohl showDeleted als auch singleEvents "False" sind. Wenn showDeleted und singleEvents beide „Wahr“ sind, werden nur einzelne Instanzen gelöschter Ereignisse zurückgegeben, aber nicht die zugrunde liegenden wiederkehrenden Ereignisse. Optional. Die Standardeinstellung ist "False".
showHiddenInvitations boolean Gibt an, ob ausgeblendete Einladungen in das Ergebnis einbezogen werden sollen. Optional. Die Standardeinstellung ist "False".
singleEvents boolean Gibt an, ob wiederkehrende Termine auf Instanzen erweitert werden sollen und nur einzelne einmalige Termine und Instanzen wiederkehrender Ereignisse zurückgegeben werden, aber nicht die zugrunde liegenden wiederkehrenden Termine selbst. Optional. Die Standardeinstellung ist "False".
syncToken string Token aus dem Feld nextSyncToken, das auf der letzten Ergebnisseite der vorherigen Listenanfrage zurückgegeben wurde. Dadurch enthält das Ergebnis dieser Listenanfrage nur Einträge, die sich seitdem geändert haben. Alle Ereignisse, die seit der vorherigen Listenanfrage gelöscht wurden, sind immer im Ergebnissatz enthalten. Außerdem ist es nicht zulässig, showDeleted auf „False“ (Falsch) zu setzen.
Es gibt mehrere Abfrageparameter, die nicht zusammen mit nextSyncToken angegeben werden können, um für einen konsistenten Clientstatus zu sorgen.

Das sind:
  • iCalUID
  • orderBy
  • privateExtendedProperty
  • q
  • sharedExtendedProperty
  • timeMin
  • timeMax
  • updatedMin
Alle anderen Abfrageparameter sollten mit denen der ursprünglichen Synchronisierung übereinstimmen, um undefiniertes Verhalten zu vermeiden. Wenn die syncToken abläuft, antwortet der Server mit dem Antwortcode 410 GONE. Der Client sollte dann seinen Speicher leeren und eine vollständige Synchronisierung ohne syncToken ausführen.
Weitere Informationen zur inkrementellen Synchronisierung
Optional. Standardmäßig werden alle Einträge zurückgegeben.
timeMax datetime Obergrenze (exklusiv) für den Beginn eines Ereignisses, nach dem gefiltert werden soll. Optional. Standardmäßig wird nicht nach der Startzeit gefiltert. Muss ein RFC3339-Zeitstempel mit obligatorischem Zeitzonenoffset sein, z. B. 2011-06-03T10:00:00-07:00 oder 2011-06-03T10:00:00Z. Millisekunden können angegeben werden, werden aber ignoriert. Wenn timeMin festgelegt ist, muss timeMax größer als timeMin sein.
timeMin datetime Untergrenze (exklusiv) für das Ende eines Ereignisses, nach dem gefiltert werden soll. Optional. Standardmäßig wird nicht nach Endzeit gefiltert. Muss ein RFC3339-Zeitstempel mit obligatorischem Zeitzonenoffset sein, z. B. 2011-06-03T10:00:00-07:00 oder 2011-06-03T10:00:00Z. Millisekunden können angegeben werden, werden aber ignoriert. Wenn timeMax festgelegt ist, muss timeMin kleiner als timeMax sein.
timeZone string Die in der Antwort verwendete Zeitzone. Optional. Standardmäßig ist die Zeitzone des Kalenders festgelegt.
updatedMin datetime Untere Grenze für die Uhrzeit der letzten Änderung eines Ereignisses (als RFC3339-Zeitstempel), nach der gefiltert werden soll. Wenn Sie einen Wert angeben, werden Einträge, die danach gelöscht wurden, unabhängig von showDeleted immer berücksichtigt. Optional. Standardmäßig wird nicht nach der Uhrzeit der letzten Änderung gefiltert.

Autorisierung

Diese Anfrage ermöglicht die Autorisierung mit mindestens einem der folgenden Gültigkeitsbereiche:

Umfang
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

Weitere Informationen finden Sie auf der Seite Authentifizierung und Autorisierung.

Anfragetext

Mit dieser Methode keinen Anfragetext bereitstellen.

Antwort

Bei Erfolg gibt diese Methode einen Antworttext mit der folgenden Struktur zurück:

{
  "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
  ]
}
Name der Eigenschaft Wert Beschreibung Hinweise
kind string Typ der Sammlung („calendar#events“).
etag etag ETag der Sammlung.
summary string Titel des Kalenders. Schreibgeschützt.
description string Beschreibung des Kalenders. Schreibgeschützt.
updated datetime Letzte Änderungszeit des Kalenders (als RFC3339-Zeitstempel). Schreibgeschützt.
timeZone string Die Zeitzone des Kalenders. Schreibgeschützt.
accessRole string Die Zugriffsrolle des Nutzers für diesen Kalender. Schreibgeschützt. Mögliche Werte sind:
  • none“: Der Nutzer hat keinen Zugriff.
  • freeBusyReader“: Der Nutzer hat Lesezugriff auf die Verfügbarkeitsdaten.
  • reader“: Der Nutzer hat Lesezugriff auf den Kalender. Private Termine werden Nutzern mit Lesezugriff angezeigt, Termindetails werden jedoch ausgeblendet.
  • writer“: Der Nutzer hat Lese- und Schreibzugriff auf den Kalender. Private Termine werden Nutzern mit Schreibberechtigung angezeigt und Termindetails werden angezeigt.
  • owner“: Der Nutzer ist Inhaber des Kalenders. Diese Rolle hat alle Berechtigungen der Rolle „Bearbeiter“ und zusätzlich die Möglichkeit, ACLs aufzurufen und zu bearbeiten.
defaultReminders[] list Die Standarderinnerungen im Kalender für den authentifizierten Nutzer. Diese Erinnerungen gelten für alle Termine in diesem Kalender, die nicht explizit überschrieben werden (d.h. für die reminders.useDefault nicht auf „Wahr“ gesetzt ist).
defaultReminders[].method string Die von dieser Erinnerung verwendete Methode. Mögliche Werte sind:
  • email“: Erinnerungen werden per E-Mail gesendet.
  • popup“: Erinnerungen werden über ein Pop-up in der Benutzeroberfläche gesendet.

Erforderlich, wenn Sie eine Erinnerung hinzufügen.

Bearbeitbar
defaultReminders[].minutes integer Anzahl der Minuten vor Beginn der Veranstaltung, zu der die Erinnerung ausgelöst werden soll. Gültige Werte liegen zwischen 0 und 40.320 (4 Wochen in Minuten).

Erforderlich, wenn Sie eine Erinnerung hinzufügen.

Bearbeitbar
nextPageToken string Token, das für den Zugriff auf die nächste Seite dieses Ergebnisses verwendet wird. Wird weggelassen, wenn keine weiteren Ergebnisse verfügbar sind. In diesem Fall wird nextSyncToken angegeben.
items[] list Liste der Termine im Kalender.
nextSyncToken string Token, das zu einem späteren Zeitpunkt verwendet wird, um nur die Einträge abzurufen, die sich seit der Rückgabe dieses Ergebnisses geändert haben. Ausgelassen, wenn weitere Ergebnisse verfügbar sind; in diesem Fall wird nextPageToken angegeben.

Beispiele

Hinweis: Bei den für diese Methode verfügbaren Codebeispielen sind nicht alle unterstützten Programmiersprachen vertreten. Eine Liste der unterstützten Sprachen finden Sie auf der Seite für Clientbibliotheken.

Java

Verwendet die Java-Clientbibliothek.

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 events in the specified calendar
String pageToken = null;
do {
  Events events = service.events().list('primary').setPageToken(pageToken).execute();
  List<Event> items = events.getItems();
  for (Event event : items) {
    System.out.println(event.getSummary());
  }
  pageToken = events.getNextPageToken();
} while (pageToken != null);

Python

Verwendet die Python-Clientbibliothek.

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

PHP

Verwendet die PHP-Clientbibliothek.

$events = $service->events->listEvents('primary');

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

Ruby

Verwendet die Ruby-Clientbibliothek.

page_token = nil
begin
  result = client.list_events('primary', page_token: page_token)
  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?

Testen!

Verwenden Sie den unten angegebenen APIs Explorer, um diese Methode für Livedaten aufzurufen und die Antwort einzusehen.