Auf dieser Seite werden die eventType-Eigenschaft und die Spezifikationen der in der Google Calendar API verfügbaren Ereignistypen erläutert.
In Google Kalender können Nutzer allgemeine Ereignisse sowie Ereignisse erstellen, die für bestimmte Anwendungsfälle konzipiert sind und benutzerdefinierte Eigenschaften haben.
Der Ereignistyp kann an den folgenden Stellen in der API ermittelt werden:
- Alle Ereignisse werden mit einem
eventTypezurückgegeben. eventTypemuss beim Erstellen oder Aktualisieren einer Ereignisressource festgelegt werden. Wenn die Einstellung nicht festgelegt ist,'default'wird der Typ verwendet.eventTypeskönnen in einemEvents:list-Aufruf angegeben werden, um Ereignisse bestimmter Typen aufzulisten. Wenn kein Typ angegeben ist, werden alle Ereignistypen zurückgegeben.eventTypeskönnen in einemEvents:watch-Aufruf angegeben werden, um Updates zu Ereignissen bestimmter Typen zu abonnieren. Wenn kein Typ angegeben ist, werden alle Ereignistypen abonniert.
Standardereignis
Ereignisse mit dem Ereignistyp default werden erstellt und als eine der Hauptressourcen der Google Calendar API verwendet. Sie unterstützen eine Vielzahl von
Eigenschaften
mit denen das Ereignis weiter angepasst werden kann.
Unter Ereignisse erstellen erfahren Sie, wie Sie mit Google Kalender-Ereignissen arbeiten.
Geburtstag
Geburtstage sind besondere ganztägige Ereignisse, die sich jährlich wiederholen.
Nutzer können in Google Kalender manuell Geburtstagsereignisse erstellen. Außerdem werden die Geburtstage mit Google Kalender synchronisiert, wenn Nutzer eine Person hinzufügen und ihren Geburtstag sowie andere wichtige Termine in Google Kontakteaufnehmen. Der Geburtstag des Nutzers wird auch aus seinem Google-Kontoprofilmit Google Kalender synchronisiert.
Die Google Calendar API unterstützt die Methoden get,
instances und
list zum Lesen von Geburtstags
ereignissen. eventTypes kann auf 'birthday' gesetzt werden, um nur Geburtstagsereignisse aufzulisten. Wenn kein Typ angegeben ist, werden Geburtstage zusammen mit allen anderen Ereignistypen aufgeführt.
In den zurückgegebenen Event Objekten finden Sie im
birthdayProperties
Feld weitere Informationen zu diesem besonderen Ereignis. birthdayProperties hat die folgenden Felder:
type: Typ dieses besonderen Ereignisses, z. B. Geburtstag, Jahrestag oder ein anderes wichtiges Datum.customTypeName: Vom Nutzer angegebenes Label für dieses besondere Ereignis. Dieses Feld wird ausgefüllt, wenntypeauf'custom'gesetzt ist.contact: Ressourcenname des Kontakts, mit dem dieses besondere Ereignis verknüpft ist, falls vorhanden. Das Format ist'people/c12345'und kann verwendet werden, um Kontaktdetails aus der People APIabzurufen.
Mit der API können Geburtstagsereignisse mit der
insert Methode und den folgenden
Spezifikationen erstellt werden:
eventTypeist auf'birthday'gesetzt.startundendFelder müssen ein ganztägiges Ereignis definieren, das genau einen Tag dauert.visibilityDer Wert des Felds muss'private'sein.transparencyDer Wert des Felds muss'transparent'sein.- Es muss eine jährliche Wiederholung festgelegt sein. Das bedeutet, dass das
recurrenceFeld'RRULE:FREQ=YEARLY'sein muss. Für Geburtstagsereignisse am 29. Februar muss die folgende Wiederholungsregel gelten:'RRULE:FREQ=YEARLY;BYMONTH=2;BYMONTHDAY=-1'. - Es können
colorId,summaryundremindersfestgelegt werden. - Es können
birthdayPropertiesfestgelegt werden. Wenn angegeben,typemuss'birthday'sein und sowohlcustomTypeNameals auchcontactmüssen leer sein. - Es dürfen keine anderen Ereigniseigenschaften festgelegt werden.
Mit der API können die
colorId,
summary und
reminders von Geburtstags
ereignissen mit den update
und patch Methoden aktualisiert werden.
start und
end Felder können auch aktualisiert werden
, um das Ereignisdatum zu ändern. In diesem Fall müssen die neuen Werte ein ganztägiges Ereignis definieren, das genau einen Tag dauert. Die Zeitdetails eines Geburtstagsereignisses können nicht
aktualisiert werden, wenn das Ereignis mit einem
contact verknüpft ist oder
der type
'self' ist.
Mit der Google Calendar API können keine Geburtstagsereignisse mit benutzerdefinierten
birthdayProperties erstellt oder
diese Eigenschaften aktualisiert werden. Wichtige Termine können mit der
People API bearbeitet werden. Die Änderungen werden mit
Google Kalender synchronisiert. Ebenso können Nutzer ihren eigenen Geburtstag in ihrem
Google-Kontoprofil bearbeiten. Die Änderungen werden
mit Google Kalender synchronisiert.
Anfragen, mit denen versucht wird, einen Geburtstag auf nicht unterstützte Weise zu erstellen oder zu aktualisieren, schlagen fehl. In diesem Fall müssen Sie die Fehlermeldung prüfen, um das Problem zu ermitteln.
Die API unterstützt den Vorgang import für Geburtstagsereignisse
. Das Ereignis wird jedoch als Standardereignis importiert. Mit
anderen Worten: Der eventType ist
'default'.
Die API unterstützt die watch Methode
um Änderungen an Geburtstagsereignissen in Google Kalender zu abonnieren.
eventTypes kann auf
'birthday' gesetzt werden, um Updates zu Geburtstagsereignissen zu abonnieren. Wenn kein Typ angegeben ist, werden alle Ereignistypen, einschließlich Geburtstage, abonniert.
Geburtstagsereignisse können mit der
delete Methode der
Google Calendar API gelöscht werden. Das Löschen eines Geburtstagsereignisses aus Google Kalender hat keine Auswirkungen auf die Daten in Google Kontakte oder
im Google-Kontoprofil.
Das Ändern des Organisators eines Geburtstagsereignisses mit den Methoden
move oder
update wird nicht unterstützt.
Termine aus Gmail
Ereignisse, die automatisch aus Gmail
generiert werden, haben den 'fromGmail' Ereignistyp.
Mit der Google Calendar API kann dieser Ereignistyp nicht mit der
insert Methode erstellt werden.
Mit der API können die
colorId,
reminders,
visibility,
transparency,
status,
attendees,
private
und shared
erweiterten Eigenschaften mit den update
und patch Methoden aktualisiert werden.
Die API unterstützt get und
list Methoden zum Lesen von Ereignissen aus
Gmail. eventTypes kann auf 'fromGmail' gesetzt werden, um nur Ereignisse aufzulisten, die aus Gmail generiert wurden. Wenn kein Typ angegeben ist, werden Ereignisse aus Gmail zusammen mit allen anderen Ereignistypen aufgeführt.
Die API unterstützt die watch Methode
um Änderungen an Ereignissen aus Gmail in Google Kalender zu abonnieren. Wenn kein Typ angegeben ist, werden alle Ereignistypen, einschließlich 'fromGmail', abonniert.
Ereignisse aus Gmail können mit der
delete Methode der
Google Calendar API gelöscht werden.
Das Ändern des Organisators eines Ereignisses aus Gmail mit
move oder
update Methoden wird nicht unterstützt.
Fokuszeit, Abwesenheit und Arbeitsort
Mit der Google Calendar API können Ereignisse erstellt und verwaltet werden, die den Status von Google Kalender-Nutzern anzeigen.
Diese Funktionen sind nur in primären Kalendern und für einige Google Kalender-Nutzer verfügbar. Weitere Informationen finden Sie unter Ereignisse für Fokuszeit, Abwesenheit und Arbeits ort verwalten.
Ereignistypen in Google Apps Script
Google Apps Script ist eine JavaScript-basierte Cloud Skriptsprache, mit der Sie Geschäftsanwendungen erstellen können, die in Google Workspace eingebunden werden. Skripts werden in einem browserbasierten Codeeditor entwickelt und auf den Servern von Google gespeichert und ausgeführt. Unter Google Apps Script Schnellstart erfahren Sie, wie Sie mit Apps Script Anfragen an die Google Calendar API senden.
In der folgenden Anleitung wird beschrieben, wie Sie Ereignisse mit der Google Calendar API als erweiterten Dienst in Google Apps Script lesen und verwalten. Eine vollständige Liste der Google Calendar API-Ressourcen und -Methoden, siehe die Referenzdokumentation.
Skript erstellen und einrichten
- Erstellen Sie ein Skript unter script.google.com/create.
- Klicken Sie im linken Bereich neben Dienste auf „Dienst hinzufügen“ .
- Wählen Sie Google Calendar API aus und klicken Sie auf Hinzufügen.
- Nach der Aktivierung wird die API im linken Bereich angezeigt. Verfügbare Methoden und Klassen in der API können mit dem Schlüsselwort Calendar im Editor aufgelistet werden.
Optional: Google Cloud-Projekt aktualisieren
Jedes Google Apps Script-Projekt hat ein zugehöriges Google Cloud-Projekt. Ihr Skript kann das Standardprojekt verwenden, das automatisch von Google Apps Script erstellt wird. Wenn Sie ein benutzerdefiniertes Google Cloud-Projekt verwenden möchten, lesen Sie den Hilfeartikel Zu einem anderen Standard-Cloud-Projekt wechseln. Nachdem Sie das Google Cloud-Projekt festgelegt haben, wählen Sie links Editor aus, um zum Codeeditor zurückzukehren.
Code zum Skript hinzufügen
Das folgende Codebeispiel zeigt, wie Sie Ereignisse mit verschiedenen eventType-Werten auflisten, lesen und erstellen.
Fügen Sie Folgendes in den Codeeditor ein:
const CALENDAR_ID = 'CALENDAR_ID' || 'primary'; /** Lists default events. */ function listDefaultEvents() { listEvents('default'); } /** Lists birthday events. */ function listBirthdays() { listEvents('birthday'); } /** Lists events from Gmail. */ function listEventsFromGmail() { listEvents('fromGmail'); } /** * Lists events with the given event type. If no type is specified, lists all events. * See https://developers.google.com/workspace/calendar/api/v3/reference/events/list */ function listEvents(eventType = undefined) { // Query parameters for the list request. const optionalArgs = { eventTypes: eventType ? [eventType] : undefined, singleEvents: true, timeMax: '2024-07-30T00:00:00+01:00', timeMin: '2024-07-29T00:00:00+01:00', } try { var response = Calendar.Events.list(CALENDAR_ID, optionalArgs); response.items.forEach(event => console.log(event)); } catch (exception) { console.log(exception.message); } } /** * Reads the event with the given eventId. * See https://developers.google.com/workspace/calendar/api/v3/reference/events/get */ function readEvent() { try { var response = Calendar.Events.get(CALENDAR_ID, 'EVENT_ID'); console.log(response); } catch (exception) { console.log(exception.message); } } /** Creates a default event. */ function createDefaultEvent() { const event = { start: { dateTime: '2024-07-30T10:30:00+01:00'}, end: { dateTime: '2024-07-30T12:30:00+01:00'}, description: 'Created from Apps Script.', eventType: 'default', summary: 'Sample event', } createEvent(event); } /** Creates a birthday event. */ function createBirthday() { const event = { start: { date: '2024-01-29' }, end: { date: '2024-01-30' }, eventType: 'birthday', recurrence: ["RRULE:FREQ=YEARLY"], summary: "My friend's birthday", transparency: "transparent", visibility: "private", } createEvent(event); } /** * Creates a Calendar event. * See https://developers.google.com/workspace/calendar/api/v3/reference/events/insert */ function createEvent(event) { try { var response = Calendar.Events.insert(event, CALENDAR_ID); console.log(response); } catch (exception) { console.log(exception.message); } }Ersetzen Sie Folgendes:
CALENDAR_ID: E-Mail-Adresse des Kalenders, in dem Ereignisse abgerufen und erstellt werden sollen. Diese Konstante ist anfänglich auf'primary'gesetzt. Das ist ein Schlüsselwort für den Zugriff auf den primären Kalender des angemeldeten Nutzers. Wenn Sie diesen Wert ändern, können Sie Ereignisse in den Kalendern anderer Nutzer lesen, auf die Sie Zugriff haben.EVENT_ID: ID des Ereignisses. Sie können die Methode Events:list aufrufen, um Ereignis-IDs abzurufen.
Codebeispiel ausführen
- Wählen Sie über dem Codeeditor im Drop-down-Menü die auszuführende Funktion aus und klicken Sie auf Ausführen.
- Bei der ersten Ausführung werden Sie aufgefordert, den Zugriff zu autorisieren. Prüfen Sie, ob Apps Script auf Ihren Kalender zugreifen darf, und erlauben Sie den Zugriff.
- Die Ergebnisse der Skriptausführung können Sie im Ausführungsprotokoll unten im Fenster sehen.