Events: update

Aktualisiert einen Termin. Diese Methode unterstützt keine Patch-Semantik und aktualisiert immer die gesamte Ereignisressource. Für eine Teilaktualisierung führen Sie einen get gefolgt von einem update mit ETags aus, um die Atomarität sicherzustellen. Probieren Sie es jetzt aus oder sehen Sie sich ein Beispiel an.

Anfrage

HTTP-Anfrage

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

Parameter

Parametername Wert Beschreibung
Pfadparameter
calendarId string Kalender-ID. Rufen Sie zum Abrufen von Kalender-IDs die Methode calendarList.list auf. Wenn Sie auf den Hauptkalender des aktuell angemeldeten Nutzers zugreifen möchten, verwenden Sie die „primary“ Keyword.
eventId string Ereignis-ID.
Optionale Abfrageparameter
alwaysIncludeEmail boolean Eingestellt und ignoriert. Im Feld email wird für den Organisator, den Ersteller und die Teilnehmer immer ein Wert zurückgegeben, auch wenn keine echte E-Mail-Adresse verfügbar ist (d.h. ein generierter, nicht funktionsfähiger Wert wird bereitgestellt).
conferenceDataVersion integer Versionsnummer der vom API-Client unterstützten Konferenzdaten. Version 0 setzt voraus, dass Konferenzdaten nicht unterstützt werden, und ignoriert Konferenzdaten im Text des Termins. Version 1 ermöglicht die Unterstützung für das Kopieren von ConferenceData sowie die Erstellung neuer Konferenzen mithilfe des Felds createRequest von ConferenceData. Der Standardwert ist 0. Zulässige Werte: 0 bis 1.
maxAttendees integer Die maximale Anzahl von Teilnehmern, die in die Antwort aufgenommen werden sollen. Wenn mehr als die angegebene Anzahl von Teilnehmern vorhanden ist, wird nur der Teilnehmer zurückgegeben. Optional.
sendNotifications boolean Verworfen. Verwenden Sie stattdessen sendUpdates.

Gibt an, ob Benachrichtigungen zur Terminaktualisierung gesendet werden sollen (z. B. bei Änderungen an der Beschreibung). Beachten Sie, dass einige E-Mails möglicherweise trotzdem gesendet werden, auch wenn Sie den Wert auf false festlegen. Der Standardwert ist false.
sendUpdates string Gäste, die über die Terminaktualisierung benachrichtigt werden sollen (z. B. Titeländerungen usw.).

Zulässige Werte sind:
  • all“: Benachrichtigungen werden an alle Gäste gesendet.
  • externalOnly“: Benachrichtigungen werden nur an Gäste gesendet, die Google Kalender nicht verwenden.
  • none“: Es werden keine Benachrichtigungen gesendet. Für Aufgaben der Kalendermigration sollten Sie stattdessen die Methode Events.import verwenden.
supportsAttachments boolean Gibt an, ob der API-Client, der einen Vorgang ausführt, Ereignisanhänge unterstützt. Optional. Die Standardeinstellung ist "False".

Autorisierung

Für diese Anfrage ist eine Autorisierung in mindestens einem der folgenden Bereiche erforderlich:

Umfang
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events

Weitere Informationen finden Sie auf der Seite Authentifizierung und Autorisierung.

Anfragetext

Geben Sie im Anfragetext eine Ereignisressource mit den folgenden Attributen an:

Property-Name Wert Beschreibung Hinweise
Erforderliche Attribute
end nested object Die (exklusive) Endzeit des Ereignisses. Bei einem wiederkehrenden Termin ist dies das Ende des ersten Termins.
start nested object Die (einschließlich) Startzeit des Ereignisses. Bei einem wiederkehrenden Termin ist dies der Beginn des ersten Termins.
Optionale Attribute
anyoneCanAddSelf boolean Ob sich jeder zu dem Termin selbst einladen kann (eingestellt). Optional. Die Standardeinstellung ist "False". Bearbeitbar
attachments[].fileUrl string URL-Link zum Anhang.

Verwenden Sie beim Hinzufügen von Google Drive-Dateianhängen dasselbe Format wie im Attribut alternateLink der Ressource Files in der Drive API.

Erforderlich, wenn Sie einen Anhang hinzufügen.

Bearbeitbar
attendees[] list Die Teilnehmer des Termins. Weitere Informationen zum Planen von Terminen mit anderen Kalendernutzern finden Sie im Leitfaden Termine mit Teilnehmern. Dienstkonten müssen eine domainweite Delegierung von Befugnissen verwenden, um die Teilnehmerliste zu füllen. Bearbeitbar
attendees[].additionalGuests integer Anzahl der zusätzlichen Gäste. Optional. Der Standardwert ist 0. Bearbeitbar
attendees[].comment string Kommentar zur Antwort des Teilnehmers. Optional. Bearbeitbar
attendees[].displayName string Name des Gastes, falls verfügbar. Optional. Bearbeitbar
attendees[].email string Die E-Mail-Adresse des Teilnehmers, falls verfügbar. Dieses Feld muss beim Hinzufügen eines Gasts vorhanden sein. Es muss sich um eine gültige E-Mail-Adresse gemäß RFC5322 handeln.

Erforderlich, wenn ein Teilnehmer hinzugefügt wird.

Bearbeitbar
attendees[].optional boolean Gibt an, ob dies ein optionaler Teilnehmer ist. Optional. Die Standardeinstellung ist "False". Bearbeitbar
attendees[].resource boolean Gibt an, ob der Gast eine Ressource ist. Dieser Wert kann nur festgelegt werden, wenn der Teilnehmer dem Termin zum ersten Mal hinzugefügt wird. Nachfolgende Änderungen werden ignoriert. Optional. Die Standardeinstellung ist "False". Bearbeitbar
attendees[].responseStatus string Der Antwortstatus des Teilnehmers. Mögliche Werte sind:
  • needsAction“ - Der Teilnehmer hat nicht auf die Einladung reagiert (empfohlen für neue Termine).
  • declined“ - Der Teilnehmer hat die Einladung abgelehnt.
  • tentative“ - Der Teilnehmer hat die Einladung vorläufig angenommen.
  • accepted“ - Der Teilnehmer hat die Einladung angenommen.
Bearbeitbar
attendeesOmitted boolean Gibt an, ob Teilnehmer möglicherweise aus der Termindarstellung ausgeschlossen wurden. Beim Abrufen eines Ereignisses kann dies an einer Einschränkung liegen, die durch den Abfrageparameter maxAttendee festgelegt wurde. Wenn Sie einen Termin aktualisieren, können Sie damit nur die Antwort des Teilnehmers aktualisieren. Optional. Die Standardeinstellung ist "False". Bearbeitbar
colorId string Die Farbe des Termins. Dies ist eine ID, die sich auf einen Eintrag im Abschnitt event der Farbdefinition bezieht (siehe Endpunkt für Farben). Optional. Bearbeitbar
conferenceData nested object Konferenzbezogene Informationen, z. B. Details zu einer Google Meet-Konferenz Verwenden Sie das Feld createRequest, um neue Konferenzdetails zu erstellen. Damit die Änderungen erhalten bleiben, müssen Sie den Anfrageparameter conferenceDataVersion für alle Ereignisänderungsanfragen auf 1 setzen. Bearbeitbar
description string Beschreibung der Veranstaltung. Kann HTML enthalten. Optional. Bearbeitbar
end.date date Das Datum im Format „jjjj-mm-tt“, wenn es sich um einen ganztägigen Termin handelt. Bearbeitbar
end.dateTime datetime Die Uhrzeit als kombinierter Datum-Uhrzeit-Wert (gemäß RFC3339 formatiert). Ein Zeitzonenversatz ist erforderlich, sofern in timeZone nicht explizit eine Zeitzone angegeben ist. Bearbeitbar
end.timeZone string Die Zeitzone, in der die Zeit angegeben ist. (Formatiert als Name der IANA-Zeitzonendatenbank, z.B. „Europa/Zürich“.) Bei wiederkehrenden Terminen ist dieses Feld erforderlich. Es gibt die Zeitzone an, in der die wiederkehrende Termine angezeigt werden. Bei einzelnen Ereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für den Beginn und das Ende des Ereignisses an. Bearbeitbar
extendedProperties.private object Eigenschaften, die nur für die Kopie des in diesem Kalender angezeigten Termins gelten. Bearbeitbar
extendedProperties.shared object Eigenschaften, die zwischen Kopien des Termins auf den Kalender. Bearbeitbar
focusTimeProperties nested object Fokuszeit-Ereignisdaten. Wird verwendet, wenn eventType gleich focusTime ist. Bearbeitbar
gadget.display string Der Anzeigemodus des Gadgets. Verworfen. Mögliche Werte sind:
  • icon“ - Das Gadgets wird neben dem Titel des Termins in der Kalenderansicht angezeigt.
  • chip“ - Das Gadgets wird angezeigt, wenn auf das Ereignis geklickt wird.
Bearbeitbar
gadget.height integer Die Höhe des Gadgets in Pixeln. Die Höhe muss eine Ganzzahl größer als 0 sein. Optional. Verworfen. Bearbeitbar
gadget.preferences object Einstellungen. Bearbeitbar
gadget.title string Der Titel des Gadgets. Verworfen. Bearbeitbar
gadget.type string Der Typ des Gadgets. Verworfen. Bearbeitbar
gadget.width integer Die Breite des Gadgets in Pixeln. Die Breite muss eine Ganzzahl größer als 0 sein. Optional. Verworfen. Bearbeitbar
guestsCanInviteOthers boolean Gibt an, ob andere Teilnehmer als der Organisator andere zu dem Termin einladen können. Optional. Der Standardwert ist „True“. Bearbeitbar
guestsCanModify boolean Gibt an, ob andere Teilnehmer als der Organisator den Termin ändern können. Optional. Die Standardeinstellung ist "False". Bearbeitbar
guestsCanSeeOtherGuests boolean Gibt an, ob andere Teilnehmer als der Organisator sehen können, wer die Teilnehmer des Termins sind. Optional. Der Standardwert ist „True“. Bearbeitbar
location string Geografischer Standort des Ereignisses als Freitext. Optional. Bearbeitbar
originalStartTime.date date Das Datum im Format „jjjj-mm-tt“, wenn es sich um einen ganztägigen Termin handelt. Bearbeitbar
originalStartTime.dateTime datetime Die Uhrzeit als kombinierter Datum-Uhrzeit-Wert (gemäß RFC3339 formatiert). Ein Zeitzonenversatz ist erforderlich, sofern in timeZone nicht explizit eine Zeitzone angegeben ist. Bearbeitbar
originalStartTime.timeZone string Die Zeitzone, in der die Zeit angegeben ist. (Formatiert als Name der IANA-Zeitzonendatenbank, z.B. „Europa/Zürich“.) Bei wiederkehrenden Terminen ist dieses Feld erforderlich. Es gibt die Zeitzone an, in der die wiederkehrende Termine angezeigt werden. Bei einzelnen Ereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für den Beginn und das Ende des Ereignisses an. Bearbeitbar
outOfOfficeProperties nested object Daten zu Außer-Haus-Terminen. Wird verwendet, wenn eventType gleich outOfOffice ist. Bearbeitbar
recurrence[] list Liste der Zeilen RRULE, EXRULE, RDATE und EXDATE für einen wiederkehrenden Termin gemäß RFC5545. Beachten Sie, dass DTSTART- und DTEND-Zeilen in diesem Feld nicht zulässig sind. Beginn und Ende des Ereignisses werden in den Feldern start und end angegeben. Bei einzelnen Terminen oder wiederkehrenden Terminen wird dieses Feld weggelassen. Bearbeitbar
reminders.overrides[] list Wenn für den Termin nicht die Standarderinnerungen verwendet werden, werden hier die Erinnerungen für den Termin aufgelistet. Sind keine Erinnerungen festgelegt, werden für diesen Termin keine Erinnerungen festgelegt. Die maximale Anzahl von Erinnerungen zum Überschreiben beträgt 5. Bearbeitbar
reminders.overrides[].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-Fenster auf der Benutzeroberfläche gesendet.

Erforderlich beim Hinzufügen einer Erinnerung.

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

Erforderlich beim Hinzufügen einer Erinnerung.

Bearbeitbar
reminders.useDefault boolean Gibt an, ob die Standarderinnerungen des Kalenders für den Termin gelten. Bearbeitbar
sequence integer Sequenznummer gemäß iCalendar Bearbeitbar
source.title string Titel der Quelle; z. B. den Titel einer Webseite oder einen E-Mail-Betreff. Bearbeitbar
source.url string URL der Quelle, die auf eine Ressource verweist. Das URL-Schema muss HTTP oder HTTPS sein. Bearbeitbar
start.date date Das Datum im Format „jjjj-mm-tt“, wenn es sich um einen ganztägigen Termin handelt. Bearbeitbar
start.dateTime datetime Die Uhrzeit als kombinierter Datum-Uhrzeit-Wert (gemäß RFC3339 formatiert). Ein Zeitzonenversatz ist erforderlich, sofern in timeZone nicht explizit eine Zeitzone angegeben ist. Bearbeitbar
start.timeZone string Die Zeitzone, in der die Zeit angegeben ist. (Formatiert als Name der IANA-Zeitzonendatenbank, z.B. „Europa/Zürich“.) Bei wiederkehrenden Terminen ist dieses Feld erforderlich. Es gibt die Zeitzone an, in der die wiederkehrende Termine angezeigt werden. Bei einzelnen Ereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für den Beginn und das Ende des Ereignisses an. Bearbeitbar
status string Status des Ereignisses. Optional. Mögliche Werte sind:
  • confirmed“ – Die Veranstaltung wurde bestätigt. Dies ist der Standardstatus.
  • tentative“ - Die Veranstaltung wurde vorläufig bestätigt.
  • cancelled“ – Der Termin wurde abgesagt (gelöscht). Die Methode list gibt nur bei inkrementeller Synchronisierung abgebrochene Ereignisse zurück (wenn syncToken oder updatedMin angegeben sind) oder wenn das Flag showDeleted auf true gesetzt ist. Sie werden von der Methode get immer zurückgegeben.

    Der Status „Abgebrochen“ stellt je nach Ereignistyp zwei verschiedene Status dar:

    1. Abgesagte Ausnahmen eines nicht abgesagten wiederkehrenden Termins geben an, dass diese Instanz dem Nutzer nicht mehr angezeigt werden soll. Kunden sollten diese Ereignisse für die Lebensdauer des übergeordneten wiederkehrenden Ereignisses speichern.

      Abgebrochene Ausnahmen enthalten nur garantiert Werte für die Felder id, recurringEventId und originalStartTime. Die anderen Felder sind möglicherweise leer.

    2. Alle anderen abgebrochenen Ereignisse stellen gelöschte Ereignisse dar. Kunden sollten ihre lokal synchronisierten Kopien entfernen. Solche abgesagten Ereignisse werden irgendwann nicht mehr angezeigt und sind daher nicht unbegrenzt verfügbar.

      Bei gelöschten Ereignissen ist nur das Feld id automatisch ausgefüllt.

    Abgesagte Termine im Kalender des Organisators enthalten weiterhin Termindetails (Zusammenfassung, Ort usw.), damit sie wiederhergestellt werden können. Ebenso enthalten die Ereignisse, zu denen der Nutzer eingeladen wurde und die er manuell entfernt hat, weiterhin Details. Bei inkrementellen Synchronisierungsanfragen, bei denen showDeleted auf „false“ gesetzt ist, werden diese Details jedoch nicht zurückgegeben.

    Wenn sich der Organisator eines Termins ändert, z. B. durch den Vorgang move, und der ursprüngliche Organisator nicht in der Teilnehmerliste enthalten ist, wird ein abgesagter Termin beibehalten, bei dem nur das Feld id garantiert gefüllt wird.

Bearbeitbar
summary string Titel der Veranstaltung. Bearbeitbar
transparency string Gibt an, ob der Termin die Zeit im Kalender blockiert. Optional. Mögliche Werte sind:
  • opaque“ – Standardwert. Der Termin blockiert die Zeit im Kalender. Dies entspricht der Einstellung für Anzeigen als in der Kalender-Benutzeroberfläche auf Beschäftigt.
  • transparent“ - Durch den Termin wird keine Zeitblockierung im Kalender überschritten. Dies entspricht der Einstellung Anzeigen als in der Kalender-Benutzeroberfläche auf Verfügbar.
Bearbeitbar
visibility string Sichtbarkeit des Ereignisses. Optional. Mögliche Werte sind:
  • default“ - Verwendet die Standardsichtbarkeit für Termine im Kalender. „Immer“ ist der Standardwert.
  • public“ - Der Termin ist öffentlich und die Termindetails sind für alle Leser des Kalenders sichtbar.
  • private“ - Der Termin ist privat und nur die Teilnehmer können die Termindetails sehen.
  • confidential“ - Der Termin ist privat. Dieser Wert wird aus Kompatibilitätsgründen angegeben.
Bearbeitbar
workingLocationProperties nested object Ereignisdaten zum Arbeitsort. Bearbeitbar
workingLocationProperties.customLocation object Falls vorhanden: Gibt an, dass der Nutzer von einem benutzerdefinierten Standort aus arbeitet. Bearbeitbar
workingLocationProperties.customLocation.label string Ein optionales zusätzliches Label für zusätzliche Informationen. Bearbeitbar
workingLocationProperties.homeOffice any value Falls vorhanden: Gibt an, dass der Nutzer zu Hause arbeitet. Bearbeitbar
workingLocationProperties.officeLocation object Falls vorhanden: Gibt an, dass der Nutzer in einem Büro arbeitet. Bearbeitbar
workingLocationProperties.officeLocation.buildingId string Eine optionale Gebäude-ID. Diese sollte auf eine Gebäude-ID in der Ressourcendatenbank der Organisation verweisen. Bearbeitbar
workingLocationProperties.officeLocation.deskId string Eine optionale Desktop-ID. Bearbeitbar
workingLocationProperties.officeLocation.floorId string Eine optionale Etagenkennzeichnung. Bearbeitbar
workingLocationProperties.officeLocation.floorSectionId string Eine optionale Etagenabschnitts-ID. Bearbeitbar
workingLocationProperties.officeLocation.label string Der Büroname, der in Google Kalender Web und Mobile-Clients angezeigt wird. Wir empfehlen, in der Ressourcendatenbank der Organisation auf einen Gebäudenamen zu verweisen. Bearbeitbar
workingLocationProperties.type string Art des Arbeitsorts. Mögliche Werte sind:
  • homeOffice“ - Der Nutzer arbeitet zu Hause.
  • officeLocation“ - Der Nutzer arbeitet in einem Büro.
  • customLocation“ - Der Nutzer arbeitet von einem benutzerdefinierten Standort aus.
Alle Details werden in einem Unterfeld des angegebenen Namens angegeben. Dieses Feld kann jedoch fehlen, wenn es leer ist. Alle anderen Felder werden ignoriert.

Erforderlich beim Hinzufügen von Eigenschaften für den Arbeitsort.

Bearbeitbar

Antwort

Wenn der Vorgang erfolgreich ist, gibt diese Methode eine Ereignisressource im Antworttext zurück.

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;

// ...

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

// Retrieve the event from the API
Event event = service.events().get("primary", "eventId").execute();

// Make a change
event.setSummary("Appointment at Somewhere");

// Update the event
Event updatedEvent = service.events().update("primary", event.getId(), event).execute();

System.out.println(updatedEvent.getUpdated());

Python

Verwendet die Python-Clientbibliothek.

# First retrieve the event from the API.
event = service.events().get(calendarId='primary', eventId='eventId').execute()

event['summary'] = 'Appointment at Somewhere'

updated_event = service.events().update(calendarId='primary', eventId=event['id'], body=event).execute()

# Print the updated date.
print updated_event['updated']

PHP

Verwendet die PHP-Clientbibliothek.

// First retrieve the event from the API.
$event = $service->events->get('primary', 'eventId');

$event->setSummary('Appointment at Somewhere');

$updatedEvent = $service->events->update('primary', $event->getId(), $event);

// Print the updated date.
echo $updatedEvent->getUpdated();

Ruby

Verwendet die Ruby-Clientbibliothek.

event = client.get_event('primary', 'eventId')
event.summary = 'Appointment at Somewhere'
result = client.update_event('primary', event.id, event)
print result.updated

Testen!

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