Guide
Google Calendar CLI : gérer ses événements depuis le terminal
Utilisez un CLI Google Calendar pour lister les événements, créer des réunions, vérifier les disponibilités et trouver des créneaux communs depuis le terminal. La validation OAuth externe de Google Calendar peut prendre jusqu'à six semaines pour les scopes vérifiés, et la plupart des scripts calendrier n'ont besoin que de lister des événements, trouver un créneau libre ou créer une seule réunion.
Written by Aaron de Mello Senior Engineering Manager
Reviewed by Nick Barraclough
Comment utiliser un CLI Google Calendar depuis le terminal ?
Authentifiez-vous une seule fois, puis utilisez nylas calendar list, nylas calendar events list, nylas calendar events create et nylas calendar availability find. Vous obtenez un workflow Google Calendar en terminal sans créer d'identifiants OAuth ni écrire de code pour l'API Calendar.
Vous voulez gérer Google Calendar depuis la ligne de commande. La méthode officielle nécessite 6 étapes avant de toucher un seul événement :
- Créer un projet GCP dans la Google Cloud Console
- Activer l'API Google Calendar
- Configurer l'écran de consentement OAuth (les applications externes passent par la vérification de marque de Google, qui peut prendre jusqu'à six semaines pour les scopes sensibles)
- Créer des identifiants OAuth 2.0, ou un compte de service si vous avez besoin de la délégation à l'échelle du domaine
- Définir les scopes du calendrier (
https://www.googleapis.com/auth/calendarpour lecture/écriture, ou le scope plus restreintcalendar.events) - Écrire du code pour échanger les tokens et effectuer les appels API
Pour une application interne, la configuration GCP en elle-même est rapide. La partie coûteuse est la validation OAuth pour toute application non interne, plus le quota par utilisateur : l'API Calendar est plafonnée à 600 requêtes par minute par projet par défaut, donc l'automatisation intensive nécessite des demandes de quota auprès de Google. Pour quelqu'un qui veut simplement consulter sa prochaine réunion depuis le terminal, c'est trop de configuration.
1. Installation (passez cette étape si déjà configuré)
Le Nylas CLI s'installe en moins de 30 secondes sur macOS et Linux via Homebrew et prend en charge 4 méthodes d'installation au total. Le binaire fait environ 25 Mo et détecte automatiquement l'architecture de votre OS lors de l'installation, donc aucune configuration manuelle n'est nécessaire après.
Exécutez brew install nylas/nylas-cli/nylas ou consultez le guide de démarrage pour les options d'installation par script shell, PowerShell et Go.
2. S'authentifier avec Google
S'authentifier auprès de Google Calendar via le Nylas CLI ne prend qu'une seule commande au lieu des 6 étapes de configuration d'un projet GCP requises par l'API Google Calendar brute. Le CLI ouvre un flux OAuth2 dans le navigateur, échange le code d'autorisation et stocke les identifiants localement. Le rafraîchissement du token se fait automatiquement à chaque appel suivant.
La commande nylas auth login demande les scopes calendar et email à Google. Le flux complet se termine en moins de 60 secondes, et le token stocké persiste entre les sessions terminal jusqu'à ce que vous révoquiez explicitement l'accès.
nylas auth loginAprès l'authentification, vérifiez la connexion en listant les calendriers. Une réponse réussie affiche chaque calendrier visible par le compte Google authentifié, y compris les calendriers partagés et secondaires. La plupart des utilisateurs Google Workspace ont 3 à 5 calendriers visibles par défaut.
nylas calendar listVous devriez voir vos calendriers Google listés par nom et identifiant.
3. Calendriers secondaires et transferts de propriété
Google Calendar traite les calendriers secondaires différemment des calendriers principaux lors des événements du cycle de vie d'un compte. Quand un employé quitte un domaine Google Workspace, son calendrier principal est supprimé après 20 jours par défaut, mais les calendriers secondaires qu'il a créés peuvent devenir orphelins. Selon la documentation d'administration Google Workspace, les administrateurs doivent transférer manuellement la propriété du calendrier avant de supprimer le compte utilisateur.
Le Nylas CLI peut lister tous les calendriers visibles pour un grant et indiquer lesquels sont principaux ou secondaires. C'est utile pour auditer la propriété avant un départ. Un utilisateur Workspace typique avec 2-3 calendriers partagés devrait effectuer cette vérification d'inventaire chaque trimestre.
# Lister chaque calendrier et signaler les non-principaux
nylas calendar list --json | \
jq -r '.[] | "\(.name) | primary=\(.is_primary) | id=\(.id)"'
# Récupérer les événements d'un calendrier partagé ou secondaire spécifique
nylas calendar events list --calendar cal_team_launch --days 14Pour les équipes fortement intégrées à Workspace, l'inventaire et la propriété font partie des opérations de calendrier. Le guide des transferts de propriété Google Calendar couvre les workflows de départ et les transferts programmatiques de calendriers partagés.
4. Limites d'administration Workspace
Google Workspace distingue trois modèles d'authentification que les développeurs confondent fréquemment : les grants OAuth utilisateur (ce qu'utilise le Nylas CLI), les comptes de service pour les appels serveur-à-serveur, et la délégation à l'échelle du domaine pour un accès niveau admin sur tous les utilisateurs. Selon la présentation de l'authentification Google Workspace, la délégation à l'échelle du domaine nécessite qu'un Super Admin autorise des scopes OAuth spécifiques par compte de service.
Le Nylas CLI opère au niveau du scope OAuth utilisateur, ce qui couvre les calendriers personnels et partagés visibles par l'utilisateur authentifié. Pour les workflows nécessitant la lecture ou l'écriture sur plus de 10 calendriers d'employés simultanément, la délégation à l'échelle du domaine via un compte de service est l'approche standard de Google. L'accès aux calendriers Yahoo et iCloud est principalement un problème de compte personnel, tandis que la gestion des calendriers Google Workspace est un problème de politique de tenant et de cycle de vie.
5. Google Meet et workflows par type d'événement
Google Calendar ajoute automatiquement les détails de conférence Google Meet aux événements créés avec au moins un participant. Google Meet génère plus de 100 millions de liens de réunion par jour selon le blog Workspace de Google, donc la plupart des scripts d'automatisation de calendrier doivent gérer le champ conferencing. Le Nylas CLI expose ces détails Meet en sortie JSON aux côtés des métadonnées de temps de concentration, absence du bureau et lieu de travail.
Créer un événement avec des participants via le Nylas CLI déclenche l'auto-conférence de Google. Le CLI transmet la liste des participants et la plage horaire, et Google Calendar ajoute le lien Meet côté serveur. L'objet événement résultant inclut un champ conferencing.details.url avec le lien de connexion.
# Créer une réunion et laisser Google ajouter les détails de conférence
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
# Inspecter les liens Meet et les métadonnées spécifiques à Google
nylas calendar events list --days 7 --json | \
jq '.[] | {title: .title, meet: .conferencing, metadata: .metadata}'6. Disponibilités entre calendriers Workspace et personnels
Vérifier les disponibilités sur Google Calendar nécessite d'interroger le endpoint FreeBusy API avec les identifiants de calendrier, les plages horaires et les décalages de fuseau horaire. Le Nylas CLI encapsule cela en une seule commande qui vérifie les créneaux libres/occupés sur tous les calendriers visibles. Pour les équipes où les employés ont à la fois un compte Gmail personnel et un compte Workspace, les vérifications de disponibilité doivent prendre en compte les deux identités pour éviter les doubles réservations.
La commande nylas calendar availability check renvoie les créneaux libres et occupés pour l'utilisateur authentifié. La commande nylas calendar availability find prend 2 adresses e-mail de participants ou plus et trouve les disponibilités communes. Les deux commandes acceptent les flags --start et --end pour limiter la fenêtre de recherche.
# Vérifier vos propres créneaux libres/occupés
nylas calendar availability check
# Trouver un créneau de 30 minutes entre collègues
nylas calendar availability find \
--participants alice@company.com,bob@company.com \
--duration 30
# Limiter la recherche à une plage de dates
nylas calendar availability find \
--participants alice@company.com,bob@company.com \
--duration 60 \
--start "2026-04-01" \
--end "2026-04-05"7. Commandes principales pour Google Calendar
Le Nylas CLI fournit 4 opérations principales sur les événements Google Calendar : lister, créer, mettre à jour et supprimer. Ces commandes correspondent directement à la ressource Events de l'API Google Calendar, mais sans les 40-80 lignes de code Python que l'API brute nécessite. Chaque commande fonctionne de la même manière, que le calendrier cible soit principal, secondaire ou partagé dans Workspace.
La commande nylas calendar events list renvoie les événements des N prochains jours et prend en charge --show-tz pour afficher les informations de fuseau horaire à côté de chaque événement. Créer un événement sur toute la journée utilise le flag --all-day avec une valeur --start en date seule. Les mises à jour nécessitent l'identifiant de l'événement, que vous pouvez récupérer dans la sortie de la commande list.
# Lister les événements à venir
nylas calendar events list --days 14 --show-tz
# Créer un événement sur toute la journée
nylas calendar events create \
--title "Company Holiday" \
--start "2026-04-10" \
--all-day
# Reprogrammer un événement existant
nylas calendar events update event_abc123 \
--title "Sprint Planning (Moved)" \
--start "2026-04-01 11:00" \
--end "2026-04-01 12:00"
# Supprimer un événement
nylas calendar events delete event_abc1238. Sortie JSON pour le scripting
Chaque commande calendrier du Nylas CLI prend en charge le flag --json, qui produit du JSON structuré au lieu du format tableau par défaut. La sortie JSON inclut 15-20 champs par événement selon le fournisseur, couvrant les heures de début/fin, les participants, la conférence, les règles de récurrence et les métadonnées spécifiques au fournisseur. Rediriger le JSON vers jq permet de filtrer, regrouper et créer des rapports sans écrire un script complet.
La structure JSON suit le schéma d'événement Nylas, où les données temporelles se trouvent sous la clé when et la conférence sous la clé conferencing. Les événements Google Calendar incluent des champs de métadonnées supplémentaires comme color_id et event_type que les autres fournisseurs n'exposent pas. Ces exemples montrent les patterns courants pour extraire les titres, compter les événements par jour et filtrer les créneaux libres.
# Obtenir tous les événements à venir en JSON
nylas calendar events list --days 7 --json
# Extraire les titres des événements
nylas calendar events list --json | jq '.[].title'
# Compter les événements par jour cette semaine
nylas calendar events list --days 7 --json | \
jq 'group_by(.when.start_date) | map({date: .[0].when.start_date, count: length})'
# Récupérer uniquement les créneaux libres
nylas calendar availability check --json | \
jq '.time_slots[] | select(.status == "free")'API Google Calendar vs Nylas CLI
L'API Google Calendar nécessite un projet GCP, un écran de consentement OAuth et 40-80 lignes de Python pour lister des événements. Le Nylas CLI obtient le même résultat en une seule commande après une installation de 30 secondes. Cette comparaison couvre 7 dimensions, du temps de configuration initiale au nombre de lignes de code requises pour les opérations CRUD de base sur le calendrier.
| Tâche | API Google Calendar | Nylas CLI |
|---|---|---|
| Configuration initiale | Projet GCP + écran de consentement OAuth + identifiants (15-30 min) | brew install nylas/nylas-cli/nylas (30 sec) |
| Authentification | Écrire le code d'échange de tokens OAuth2, gérer le rafraîchissement | nylas auth login |
| Lister les événements | Écrire un script Python/Node.js avec calendar.events().list() | nylas calendar events list |
| Vérifier les disponibilités | freebusy.query() avec plages horaires et identifiants de calendrier | nylas calendar availability check |
| Support multi-fournisseurs | Google uniquement. SDK Microsoft Graph séparé pour Outlook. | Google, Outlook, Exchange, Yahoo, iCloud, IMAP |
| Gestion des tokens | Gestion manuelle du rafraîchissement et du stockage des tokens | Automatique |
| Lignes de code | 40-80 lignes (Python) pour un CRUD de base | 0 ligne. Commandes CLI uniquement. |
Astuces spécifiques à Google Calendar
Google Calendar possède plusieurs fonctionnalités spécifiques au fournisseur qui n'existent pas dans les calendriers Outlook, Yahoo ou iCloud. Cela inclut 11 étiquettes de couleur numériques, l'expansion des événements récurrents basée sur RRULE, la génération automatique de liens Google Meet et les types d'événements comme le temps de concentration et le lieu de travail. Comprendre ces 4 domaines permet d'éviter les surprises lors du scripting des données Google Calendar via le Nylas CLI.
Étiquettes de couleur
Google Calendar attribue des identifiants de couleur numériques de 1 à 11 aux événements, chaque numéro correspondant à une couleur nommée dans la palette de Google (par exemple, l'identifiant de couleur 11 est "Tomato"). Lors du listage des événements avec --json, le champ color_id apparaît dans l'objet metadata. Filtrer par identifiant de couleur est utile pour les scripts qui catégorisent les événements par projet ou priorité.
# Lister les événements avec une couleur spécifique (ex. "Tomato" = color_id 11)
nylas calendar events list --json | \
jq '.[] | select(.metadata.color_id == "11") | .title'Événements récurrents
Google Calendar stocke les événements récurrents en utilisant des patterns RRULE définis dans la RFC 5545. Un standup hebdomadaire, par exemple, est stocké comme un seul événement maître avec une RRULE comme FREQ=WEEKLY;BYDAY=MO, et Google l'expanse en occurrences individuelles. Quand le Nylas CLI liste les événements, chaque occurrence apparaît comme un objet événement séparé. Le champ master_event_id lie chaque occurrence à l'événement maître d'origine, ce qui est utile pour modifier en masse une série entière.
# Lister les événements et filtrer une série récurrente
nylas calendar events list --json | \
jq '.[] | select(.master_event_id == "event_abc123") | {title, start: .when.start_time}'Liens Google Meet
Google Calendar génère automatiquement un lien de connexion Meet pour les événements créés avec au moins 1 participant via un compte Google Workspace ou Gmail personnel. Les données de conférence apparaissent dans le champ conferencing de l'objet événement JSON. Les événements sans participants, comme les rappels sur toute la journée ou les blocs de temps de concentration, ne reçoivent pas de liens Meet. Le filtre jq suivant extrait uniquement les événements avec une conférence attachée.
# Trouver les événements avec des liens Google Meet
nylas calendar events list --json | \
jq '.[] | select(.conferencing != null) | {title, meet: .conferencing.details.url}'Lieu de travail et calendriers de temps de concentration
Google Calendar a introduit 3 types d'événements spéciaux que les autres fournisseurs ne prennent pas en charge : le temps de concentration, l'absence du bureau et le lieu de travail. Ces types d'événements affectent les disponibilités différemment des réunions classiques. Un bloc de temps de concentration, par exemple, marque l'utilisateur comme occupé mais refuse automatiquement les nouvelles invitations à des réunions. Un événement d'absence du bureau refuse automatiquement et envoie un message personnalisé à l'organisateur. Si votre script de planification traite tous les événements comme des réunions classiques, il interprétera mal ces types spécifiques à Google. Inspectez les champs metadata et status dans la sortie JSON pour les distinguer.
# Inspecter les métadonnées d'événement spécifiques à Google
nylas calendar events list --days 7 --json | \
jq '.[] | {title: .title, status: .status, metadata: .metadata}'Étapes suivantes
Ce guide a couvert le CRUD des événements Google Calendar, les vérifications de disponibilité et les fonctionnalités spécifiques au fournisseur comme les liens Meet et les blocs de temps de concentration. Le Nylas CLI prend en charge 6 fournisseurs de calendrier avec la même syntaxe de commande, donc la plupart de ces patterns se transposent directement aux calendriers Outlook, Yahoo et iCloud.
- Gérer les événements de calendrier depuis le terminal -- planification avec gestion du changement d'heure, verrouillage de fuseau horaire et recherche de réunions assistée par IA
- Outils CLI e-mail comparés -- comparer les outils e-mail en terminal qui nécessitent aussi un accès calendrier
- CLI d'agent IA pour e-mail et calendrier -- exposer les commandes calendrier comme outils JSON pour les agents LLM
- Lister les e-mails Gmail depuis la ligne de commande -- lire et rechercher dans votre boîte de réception sans configuration Google API
- Envoyer un e-mail depuis le terminal -- composer et envoyer des e-mails depuis votre CLI
- Transferts de propriété Google Calendar -- calendriers orphelins supprimés le 27 avril, nouvelle API de transfert en juin
- Pagination et synchronisation de l'API Google Calendar -- nextPageToken, syncToken, récupération après 410 Gone et expansion des événements récurrents
- Donner aux agents IA un accès e-mail via MCP -- connecter Claude ou Cursor à votre calendrier et e-mail
- Synchroniser les calendriers entre fournisseurs -- ICS, CalDAV et synchronisation par API comparées
- Meilleurs outils CLI calendrier comparés -- gcalcli, khal, calcurse, remind et Nylas CLI
- Référence complète des commandes -- chaque flag et sous-commande calendrier