Guide

Google Calendar CLI: Termine vom Terminal verwalten

Nutzen Sie ein Google Calendar CLI, um Termine aufzulisten, Meetings zu erstellen, Verfügbarkeit zu prüfen und gemeinsame Zeitfenster zu finden. Die externe OAuth-Überprüfung von Google Calendar kann bei verifizierten Scopes bis zu sechs Wochen dauern, und die meisten Kalenderskripte müssen nur Termine auflisten, freie Slots finden oder ein einzelnes Meeting erstellen.

Written by Aaron de Mello Senior Engineering Manager

Reviewed by Nick Barraclough

VerifiedCLI 3.1.1 · Google Calendar · last tested April 11, 2026

Wie nutzt man ein Google Calendar CLI vom Terminal?

Einmal authentifizieren, dann nylas calendar list, nylas calendar events list, nylas calendar events create und nylas calendar availability find verwenden. So erhalten Sie einen Terminal-Workflow für Google Calendar, ohne OAuth-Zugangsdaten zu erstellen oder Calendar-API-Code zu schreiben.

Sie möchten Google Calendar über die Kommandozeile verwalten. Der offizielle Weg erfordert 6 Schritte, bevor Sie einen einzigen Termin anfassen:

  1. Ein GCP-Projekt in der Google Cloud Console erstellen
  2. Die Google Calendar API aktivieren
  3. Den OAuth-Consent-Screen konfigurieren (externe Apps durchlaufen Googles Markenverifizierung, die bei sensiblen Scopes bis zu sechs Wochen dauern kann)
  4. OAuth-2.0-Zugangsdaten erstellen oder ein Service-Account einrichten, falls Domain-wide Delegation benötigt wird
  5. Kalender-Scopes festlegen (https://www.googleapis.com/auth/calendar für Lesen/Schreiben oder das eingeschränktere calendar.events)
  6. Code schreiben, um Tokens auszutauschen und API-Aufrufe zu machen

Für eine interne App ist das GCP-Setup selbst schnell. Der aufwendige Teil ist die OAuth-Überprüfung für jede nicht-interne App, plus das Pro-Nutzer-Kontingent: Die Calendar API ist standardmäßig auf 600 Anfragen pro Minute pro Projekt begrenzt, sodass intensive Automatisierung Kontingentanfragen bei Google erfordert. Für jemanden, der nur sein nächstes Meeting vom Terminal aus prüfen will, ist das zu viel Aufwand.

1. Installation (überspringen, falls bereits eingerichtet)

Das Nylas CLI lässt sich in unter 30 Sekunden auf macOS und Linux per Homebrew installieren und unterstützt insgesamt 4 Installationsmethoden. Die Binärdatei ist ca. 25 MB gross und erkennt automatisch Ihre OS-Architektur, sodass nach der Installation keine manuelle Konfiguration nötig ist.

Führen Sie brew install nylas/nylas-cli/nylas aus oder schauen Sie im Erste-Schritte-Guide nach Shell-Script-, PowerShell- und Go-Installationsoptionen.

2. Bei Google authentifizieren

Die Authentifizierung bei Google Calendar über das Nylas CLI erfordert einen einzigen Befehl statt des 6-Schritte-GCP-Projekt-Setups der nativen Google Calendar API. Das CLI öffnet einen browserbasierten OAuth2-Flow, tauscht den Autorisierungscode aus und speichert die Zugangsdaten lokal. Die Token-Aktualisierung erfolgt automatisch bei jedem weiteren Aufruf.

Der Befehl nylas auth login fordert die Scopes calendar und email von Google an. Der gesamte Vorgang dauert unter 60 Sekunden, und das gespeicherte Token bleibt über Terminalsitzungen hinweg gültig, bis Sie den Zugriff explizit widerrufen.

nylas auth login

Überprüfen Sie nach der Authentifizierung die Verbindung, indem Sie die Kalender auflisten. Eine erfolgreiche Antwort zeigt jeden Kalender an, der für das authentifizierte Google-Konto sichtbar ist, einschließlich freigegebener und sekundärer Kalender. Die meisten Google-Workspace-Nutzer haben standardmäßig 3-5 sichtbare Kalender.

nylas calendar list

Sie sollten Ihre Google-Kalender nach Name und ID aufgelistet sehen.

3. Sekundäre Kalender und Eigentumsübertragungen

Google Calendar behandelt sekundäre Kalender bei Kontolebenszyklus-Ereignissen anders als primäre. Wenn ein Mitarbeiter eine Google-Workspace-Domain verlässt, wird sein primärer Kalender standardmäßig nach 20 Tagen gelöscht, aber von ihm erstellte sekundäre Kalender können verwaist zurückbleiben. Laut der Google-Workspace-Admin-Dokumentation müssen Administratoren die Kalendereigentümerschaft manuell übertragen, bevor sie das Benutzerkonto löschen.

Das Nylas CLI kann alle für einen Grant sichtbaren Kalender auflisten und kennzeichnen, welche primär und welche sekundär sind. Das ist nützlich für Eigentumsaudits vor dem Offboarding. Ein typischer Workspace-Nutzer mit 2-3 freigegebenen Kalendern sollte diese Bestandsaufnahme vierteljährlich durchführen.

# Alle Kalender auflisten und nicht-primäre kennzeichnen
nylas calendar list --json | \
  jq -r '.[] | "\(.name) | primary=\(.is_primary) | id=\(.id)"'

# Termine eines bestimmten freigegebenen oder sekundären Kalenders abrufen
nylas calendar events list --calendar cal_team_launch --days 14

Für Workspace-intensive Teams gehören Bestandsaufnahme und Eigentümerschaft zum Kalenderalltag. Der Guide zu Google-Calendar-Eigentumsänderungen behandelt Offboarding-Workflows und programmatische Übertragungen freigegebener Kalender.

4. Workspace-Admin-Grenzen

Google Workspace unterscheidet drei Authentifizierungsmodelle, die Entwickler häufig verwechseln: User-OAuth-Grants (die das Nylas CLI verwendet), Service-Accounts für Server-zu-Server-Aufrufe und Domain-wide Delegation für Admin-Zugriff über alle Nutzer hinweg. Laut der Google-Workspace-Auth-Übersicht erfordert Domain-wide Delegation einen Super-Admin, der bestimmte OAuth-Scopes pro Service-Account autorisiert.

Das Nylas CLI arbeitet auf User-Level-OAuth-Scope-Ebene, was persönliche und freigegebene Kalender abdeckt, die für den authentifizierten Nutzer sichtbar sind. Für Workflows, die gleichzeitig auf mehr als 10 Mitarbeiterkalender lesen oder schreiben müssen, ist Domain-wide Delegation über einen Service-Account der Standard-Google-Ansatz. Yahoo- und iCloud-Kalenderzugriff ist größtenteils ein Privatkonten-Problem, während Google-Workspace-Kalenderverwaltung ein Problem der Mandantenrichtlinien und des Lebenszyklus ist.

5. Google Meet und Termintyp-Workflows

Google Calendar fügt automatisch Google-Meet-Konferenzdetails an Termine an, die mit mindestens einem Teilnehmer erstellt werden. Google Meet erzeugt täglich über 100 Millionen Meeting-Links laut Googles Workspace-Blog, daher müssen die meisten Kalender-Automatisierungsskripte das Feld conferencing verarbeiten. Das Nylas CLI gibt diese Meet-Details in der JSON-Ausgabe zusammen mit Focus Time-, Out of Office- und Working Location-Metadaten aus.

Das Erstellen eines Termins mit Teilnehmern über das Nylas CLI löst Googles automatische Konferenz-Erstellung aus. Das CLI übergibt die Teilnehmerliste und den Zeitraum, und Google Calendar fügt den Meet-Link serverseitig hinzu. Das resultierende Terminobjekt enthält ein Feld conferencing.details.url mit dem Beitrittslink.

# Meeting erstellen und Google die Konferenzdetails anhängen lassen
nylas calendar events create \
  --title "Project Kickoff" \
  --start "2026-04-02 14:00" \
  --end "2026-04-02 15:00" \
  --participant alice@company.com \
  --participant bob@company.com

# Meet-Links und Google-spezifische Metadaten prüfen
nylas calendar events list --days 7 --json | \
  jq '.[] | {title: .title, meet: .conferencing, metadata: .metadata}'

6. Verfügbarkeit über Workspace- und persönliche Kalender

Die Verfügbarkeitsprüfung in Google Calendar erfordert eine Abfrage des FreeBusy-API-Endpoints mit Kalender-IDs, Zeitbereichen und Zeitzonen-Offsets. Das Nylas CLI fasst dies in einen einzigen Befehl zusammen, der Frei/Belegt-Slots über alle sichtbaren Kalender prüft. Für Teams, in denen Mitarbeiter sowohl ein privates Gmail- als auch ein Workspace-Konto haben, müssen Verfügbarkeitsprüfungen beide Identitäten berücksichtigen, um Doppelbuchungen zu vermeiden.

Der Befehl nylas calendar availability check gibt freie und belegte Zeitfenster für den authentifizierten Nutzer zurück. Der Befehl nylas calendar availability find nimmt 2 oder mehr Teilnehmer-E-Mail-Adressen und findet gemeinsame Zeitfenster. Beide Befehle akzeptieren die Flags --start und --end, um das Suchfenster einzugrenzen.

# Eigene Frei/Belegt-Slots prüfen
nylas calendar availability check

# 30-Minuten-Slot unter Kollegen finden
nylas calendar availability find \
  --participants alice@company.com,bob@company.com \
  --duration 30

# Suche auf einen Datumsbereich eingrenzen
nylas calendar availability find \
  --participants alice@company.com,bob@company.com \
  --duration 60 \
  --start "2026-04-01" \
  --end "2026-04-05"

7. Wichtigste Google-Calendar-Befehle

Das Nylas CLI bietet 4 zentrale Terminoperationen für Google Calendar: Auflisten, Erstellen, Aktualisieren und Löschen. Diese Befehle entsprechen direkt der Events-Ressource der Google Calendar API, überspringen aber die 40-80 Zeilen Python-Boilerplate, die die native API erfordert. Jeder Befehl funktioniert identisch, unabhängig davon, ob der Zielkalender ein primärer, sekundärer oder freigegebener Workspace-Kalender ist.

Der Befehl nylas calendar events list gibt Termine für die nächsten N Tage zurück und unterstützt --show-tz zur Anzeige von Zeitzoneninformationen neben jedem Termin. Das Erstellen eines ganztägigen Termins verwendet das Flag --all-day mit einem reinen Datumswert in --start. Aktualisierungen erfordern die Termin-ID, die Sie aus der Ausgabe des List-Befehls entnehmen können.

# Anstehende Termine auflisten
nylas calendar events list --days 14 --show-tz

# Ganztägigen Termin erstellen
nylas calendar events create \
  --title "Company Holiday" \
  --start "2026-04-10" \
  --all-day

# Bestehenden Termin verschieben
nylas calendar events update event_abc123 \
  --title "Sprint Planning (Moved)" \
  --start "2026-04-01 11:00" \
  --end "2026-04-01 12:00"

# Termin löschen
nylas calendar events delete event_abc123

8. JSON-Ausgabe für Skripting

Jeder Nylas-CLI-Kalenderbefehl unterstützt das Flag --json, das strukturiertes JSON statt des Standard-Tabellenformats ausgibt. Die JSON-Ausgabe enthält je nach Anbieter 15-20 Felder pro Termin, darunter Start-/Endzeiten, Teilnehmer, Konferenzdetails, Wiederholungsregeln und anbieterspezifische Metadaten. Das Pipen von JSON in jq ermöglicht Filtern, Gruppieren und Berichten ohne ein vollständiges Skript zu schreiben.

Die JSON-Struktur folgt dem Nylas-Event-Schema, wobei Zeitdaten unter dem Schlüssel when und Konferenzdetails unter conferencing liegen. Google-Calendar-Termine enthalten zusätzliche Metadatenfelder wie color_id und event_type, die andere Anbieter nicht bereitstellen. Diese Beispiele zeigen gängige Muster zum Extrahieren von Titeln, Zählen von Terminen pro Tag und Filtern freier Slots.

# Alle anstehenden Termine als JSON abrufen
nylas calendar events list --days 7 --json

# Termintitel extrahieren
nylas calendar events list --json | jq '.[].title'

# Termine pro Tag dieser Woche zählen
nylas calendar events list --days 7 --json | \
  jq 'group_by(.when.start_date) | map({date: .[0].when.start_date, count: length})'

# Nur freie Slots abrufen
nylas calendar availability check --json | \
  jq '.time_slots[] | select(.status == "free")'

Google Calendar API vs. Nylas CLI

Die Google Calendar API erfordert ein GCP-Projekt, einen OAuth-Consent-Screen und 40-80 Zeilen Python, um Termine aufzulisten. Das Nylas CLI erreicht dasselbe Ergebnis mit einem einzigen Befehl nach einer 30-Sekunden-Installation. Dieser Vergleich umfasst 7 Dimensionen, von der anfänglichen Einrichtungszeit bis zu den benötigten Codezeilen für grundlegende Kalender-CRUD-Operationen.

AufgabeGoogle Calendar APINylas CLI
ErsteinrichtungGCP-Projekt + OAuth-Consent-Screen + Zugangsdaten (15-30 Min.)brew install nylas/nylas-cli/nylas (30 Sek.)
AuthentifizierungOAuth2-Token-Austausch-Code schreiben, Refresh-Tokens verwaltennylas auth login
Termine auflistenPython-/Node.js-Skript mit calendar.events().list() schreibennylas calendar events list
Verfügbarkeit prüfenfreebusy.query() mit Zeitbereichen und Kalender-IDsnylas calendar availability check
Multi-Provider-UnterstützungNur Google. Separates Microsoft Graph SDK für Outlook.Google, Outlook, Exchange, Yahoo, iCloud, IMAP
Token-VerwaltungManuelles Refresh-Token-Handling und -SpeicherungAutomatisch
Codezeilen40-80 Zeilen (Python) für einfaches CRUD0 Zeilen. Nur CLI-Befehle.

Google-Calendar-spezifische Tipps

Google Calendar hat mehrere anbieterspezifische Funktionen, die in Outlook-, Yahoo- oder iCloud-Kalendern nicht existieren. Dazu gehören 11 numerische Farblabels, RRULE-basierte Erweiterung wiederkehrender Termine, automatische Google-Meet-Link-Generierung und Termintypen wie Fokuszeit und Arbeitsstandort. Das Verständnis dieser 4 Bereiche hilft, Überraschungen beim Skripting gegen Google-Calendar-Daten über das Nylas CLI zu vermeiden.

Farblabels

Google Calendar weist Terminen numerische Farb-IDs von 1 bis 11 zu, wobei jede Nummer einer benannten Farbe in Googles Palette entspricht (z.B. Farb-ID 11 ist "Tomate"). Beim Auflisten von Terminen mit --json erscheint das Feld color_id im Metadatenobjekt. Das Filtern nach Farb-ID ist nützlich für Skripte, die Termine nach Projekt oder Priorität kategorisieren.

# Termine mit einer bestimmten Farbe auflisten (z.B. "Tomate" = color_id 11)
nylas calendar events list --json | \
  jq '.[] | select(.metadata.color_id == "11") | .title'

Wiederkehrende Termine

Google Calendar speichert wiederkehrende Termine als RRULE-Muster gemäß RFC 5545. Ein wöchentliches Standup wird beispielsweise als einzelner Master-Termin mit einer RRULE wie FREQ=WEEKLY;BYDAY=MO gespeichert, und Google expandiert ihn in einzelne Vorkommen. Wenn das Nylas CLI Termine auflistet, erscheint jedes Vorkommen als separates Terminobjekt. Das Feld master_event_id verknüpft jedes Vorkommen mit dem ursprünglichen Master-Termin, was für die Massenbearbeitung einer ganzen Serie nützlich ist.

# Termine auflisten und nach einer wiederkehrenden Serie filtern
nylas calendar events list --json | \
  jq '.[] | select(.master_event_id == "event_abc123") | {title, start: .when.start_time}'

Google-Meet-Links

Google Calendar generiert automatisch einen Meet-Beitrittslink für Termine, die mit mindestens 1 Teilnehmer über ein Google-Workspace- oder persönliches Gmail-Konto erstellt werden. Die Konferenzdaten erscheinen im Feld conferencing des JSON-Terminobjekts. Termine ohne Teilnehmer, wie ganztägige Erinnerungen oder Fokuszeitblöcke, erhalten keine Meet-Links. Der folgende jq-Filter extrahiert nur Termine, die Konferenzdaten enthalten.

# Termine mit Google-Meet-Links finden
nylas calendar events list --json | \
  jq '.[] | select(.conferencing != null) | {title, meet: .conferencing.details.url}'

Arbeitsstandort- und Fokuszeit-Kalender

Google Calendar hat 3 spezielle Termintypen eingeführt, die andere Anbieter nicht unterstützen: Fokuszeit, Abwesenheit und Arbeitsstandort. Diese Termintypen beeinflussen die Verfügbarkeit anders als reguläre Meetings. Ein Fokuszeitblock markiert den Nutzer beispielsweise als beschäftigt, lehnt aber neue Meetingeinladungen automatisch ab. Ein Abwesenheitstermin lehnt automatisch ab und sendet eine benutzerdefinierte Nachricht an den Organisator. Wenn Ihr Planungsskript alle Termine als reguläre Meetings behandelt, werden diese Google-spezifischen Typen falsch interpretiert. Prüfen Sie die Felder metadata und status in der JSON-Ausgabe, um sie zu unterscheiden.

# Google-spezifische Terminmetadaten prüfen
nylas calendar events list --days 7 --json | \
  jq '.[] | {title: .title, status: .status, metadata: .metadata}'

Nächste Schritte

Dieser Guide behandelte Google-Calendar-Termin-CRUD, Verfügbarkeitsprüfungen und anbieterspezifische Funktionen wie Meet-Links und Fokuszeitblöcke. Das Nylas CLI unterstützt 6 Kalenderanbieter mit derselben Befehlssyntax, sodass die meisten dieser Muster direkt auf Outlook-, Yahoo- und iCloud-Kalender übertragbar sind.