Guide
Pagination et synchronisation de l'API Google Calendar
L'API REST de Google Calendar vous oblige à gérer les tokens de pagination, les tokens de synchronisation, l'expansion des événements récurrents et un état de sync par calendrier — le tout dans votre propre code. Ce guide explique le fonctionnement de nextPageToken et syncToken, avec du code fonctionnel pour chaque pattern, sur tous les fournisseurs pris en charge.
Written by Qasim Muhammad Staff SRE
Reviewed by Nick Barraclough
Références des commandes utilisées dans ce guide : nylas calendar events list pour la lecture paginée des événements, nylas calendar list pour la découverte des calendriers, nylas auth config pour la configuration headless, nylas webhook create pour les notifications d'événements, et nylas calendar find-time pour les workflows de planification.
Comment fonctionnent nextPageToken et maxResults dans l'API Google Calendar ?
Dans events.list de l'API Google Calendar, maxResults définit la taille de page et nextPageToken pointe vers la page d'événements suivante. Une réponse peut contenir moins d'événements que demandé et renvoyer quand même un autre token, surtout quand des événements récurrents, des événements supprimés ou des filtres de fenêtre temporelle entrent en jeu.
Pour la requête courante google calendar api nextPageToken maxResults, le point important est que la pagination est limitée à un calendrier à la fois. Si un utilisateur possède 8 calendriers, votre code de synchronisation a besoin de 8 boucles de pagination indépendantes et de 8 états de sync stockés, pas d'un curseur global unique.
Comment fonctionne la pagination de l'API Google Calendar ?
La pagination de l'API Google Calendar répartit les listes d'événements sur plusieurs réponses HTTP, chacune contenant une chaîne nextPageToken que l'appelant renvoie pour récupérer la page suivante. Le endpoint events.list se trouve sous /calendars/{calendarId}/events, donc l'état de pagination est limité à chaque calendrier — un utilisateur avec cinq calendriers possède cinq curseurs de pagination indépendants.
Selon la documentation events.list de l'API Google Calendar, la taille de page par défaut est de 250 et le maximum de 2 500 résultats par requête (5 fois plus que le plafond de 500 de messages.list côté Gmail). Un calendrier de 10 000 événements nécessite donc au minimum 4 appels API séquentiels à la taille de page maximale, ou 40 appels avec la valeur par défaut. La boucle ci-dessous pagine un seul calendrier :
from googleapiclient.discovery import build
service = build("calendar", "v3", credentials=creds)
all_events = []
page_token = None
while True:
response = service.events().list(
calendarId="primary",
maxResults=2500,
pageToken=page_token,
singleEvents=True,
orderBy="startTime",
).execute()
all_events.extend(response.get("items", []))
page_token = response.get("nextPageToken")
if not page_token:
break
print(f"Fetched {len(all_events)} events")Ce code pagine un seul calendrier. Les utilisateurs ont généralement un calendrier principal plus des calendriers partagés, secondaires et abonnés, donc un client de synchronisation en production enveloppe cette boucle dans une boucle externe sur les résultats de calendarList.list.
Où gérer les erreurs ETag, If-Match et 412 de l'API Google Calendar ?
Les erreurs ETag, If-Match et 412 Precondition Failed de l'API Google Calendar relèvent du contrôle de concurrence, pas des tokens de pagination. Gardez la gestion de la pagination et des tokens de synchronisation sur cette page, puis consultez Corriger les erreurs 412 des API Google (ETag, If-Match) quand la question porte sur les mises à jour d'événements obsolètes, events.patch ou la concurrence optimiste.
Comment fonctionne la synchronisation incrémentale de Google Calendar ?
La synchronisation incrémentale de Google Calendar utilise un syncToken renvoyé uniquement dans la dernière réponse paginée — la page où nextPageToken est absent. Vous stockez ce token par calendrier. À la synchronisation suivante, passez-le comme syncToken à events.list et la réponse ne contient que les événements créés, mis à jour ou supprimés depuis la dernière sync. Selon le guide de synchronisation de l'API Calendar, c'est le pattern recommandé pour maintenir une copie locale à jour.
Quand un syncToken devient invalide (typiquement après plusieurs semaines d'inactivité, ou quand Google fait tourner le token), events.list renvoie 410 Gone. L'échec analogue côté Gmail renvoie 404 à la place. Votre code doit intercepter le 410, jeter le token stocké et relancer une pagination complète depuis zéro pour obtenir un syncToken frais. Le chemin de code ressemble à ceci :
def incremental_sync(service, calendar_id, stored_token):
"""Sync changes since stored_token, or full-sync on 410."""
try:
response = service.events().list(
calendarId=calendar_id,
syncToken=stored_token,
).execute()
return response.get("items", []), response.get("nextSyncToken")
except HttpError as e:
if e.resp.status == 410:
# Token invalidated — full re-paginate
return full_paginate(service, calendar_id)
raiseNotez une subtilité supplémentaire : les requêtes avec syncToken ne peuvent pas utiliser la plupart des paramètres de filtrage qui fonctionnent lors de la pagination initiale, notamment q (recherche texte), timeMin, timeMax ou singleEvents. Si vous avez initialisé une sync avec singleEvents=True, chaque appel incrémental suivant doit aussi l'omettre, sinon l'API renvoie 400 Bad Request.
Pourquoi les événements récurrents posent-ils un problème de pagination ?
Google Calendar représente un standup hebdomadaire ou une réunion générale mensuelle comme un seul événement doté d'une règle de récurrence (RRULE, selon la RFC 5545) — pas comme des événements séparés pour chaque occurrence. Le endpoint events.list se comporte différemment selon le paramètre singleEvents. Avec singleEvents=False (la valeur par défaut), la réponse inclut les événements récurrents uniquement sous forme d'enregistrements maîtres ; vous recevez une seule entrée pour le standup et devez l'étendre côté client. Avec singleEvents=True, l'API étend chaque récurrence en instances individuelles et la réponse peut être 10 à 100 fois plus volumineuse.
Étendre 500 événements maîtres avec des récurrences quotidiennes sur une fenêtre de 90 jours produit 45 000 instances. La même requête sans singleEvents renvoie 500 lignes. Les deux ont des cas d'usage légitimes (l'analytique veut les événements maîtres, les tableaux de bord veulent les instances), mais ce contrat change la façon dont le coût de pagination évolue. Définir timeMin et timeMax borne la fenêtre d'expansion et devient obligatoire avec singleEvents=True sur un calendrier contenant des récurrences sans fin.
Qu'est-ce qui tourne mal quand vous codez la pagination vous-même ?
Construire un client de synchronisation Google Calendar de qualité production est plus complexe que l'équivalent Gmail à cause du modèle de pagination par calendrier et de l'expansion des événements récurrents. Ce qui commence comme une boucle de 25 lignes grossit jusqu'à 150-200 lignes une fois chaque cas obligatoire géré :
- Un curseur de sync par calendrier — un utilisateur avec 8 calendriers connectés a besoin de 8 valeurs
syncTokenstockées, 8 chemins de repli en sync complète et 8 jeux de métadonnées de suivi d'état. - Repli sur 410 Gone — chaque appel incrémental a besoin d'un try/except autour du
410, avec un chemin de re-pagination qui réinitialise un calendrier sans toucher aux autres. Deux chemins de code, les deux doivent fonctionner correctement. - Cycle de vie des tokens OAuth2 — les tokens d'accès Google Calendar expirent toutes les 3 600 secondes. La boucle de sync a besoin d'un callback de refresh token, d'une logique de retry sur les tokens expirés et d'un stockage persistant pour le refresh token lui-même.
- Sémantique des événements récurrents — les pipelines analytiques ont besoin des événements maîtres, les interfaces de tableau de bord des instances étendues, et un seul décalage de
singleEventsentre la sync initiale et la sync incrémentale renvoie400 Bad Request. - Limites de débit — l'API Google Calendar impose 600 requêtes par minute par utilisateur et 1 000 000 de requêtes par jour par projet. Une boucle de sync naïve par calendrier atteint la limite par utilisateur plus vite que la limite globale, surtout lors de l'expansion des événements récurrents.
- Écran de consentement OAuth — avant qu'une ligne de code ne s'exécute, il vous faut un projet Google Cloud, un écran de consentement OAuth configuré sur console.cloud.google.com, un client ID et un secret, le scope
calendaroucalendar.readonly, et une URI de redirection. Soit 15-20 minutes de clics dans des formulaires web.
Comment lister les événements Google Calendar en une seule commande ?
Le Nylas CLI remplace toute la pile pagination, sync et OAuth par une seule commande de terminal. Là où l'approche API Calendar exige 150-200 lignes de Python et un projet Google Cloud, le CLI la réduit à une ligne et une installation de 2 minutes.
Les trois commandes ci-dessous couvrent les patterns les plus courants : lister les événements à venir, restreindre à une plage de dates et lire un événement unique. Chacune exécute un appel API sous le capot pendant que le CLI gère la pagination entre les réponses du fournisseur :
# List the next 50 upcoming events on the primary calendar
nylas calendar events list --limit 50 --json
# Events in the next 7 days
nylas calendar events list --days 7 --json
# Read one event by ID
nylas calendar events show <event-id> --jsonConsultez nylas calendar events list, nylas calendar events show et la référence complète des commandes pour chaque flag. Nouveau sur l'outil ? Commencez par le guide de démarrage.
Comment lister tous les calendriers avant de paginer les événements ?
Un utilisateur Google Workspace typique possède 4 à 8 calendriers : le calendrier principal, 1 à 3 calendriers d'équipe partagés, un éventuel calendrier personnel secondaire et 1 à 2 calendriers abonnés (jours fériés américains, calendriers sportifs, anniversaires des contacts). Chacun constitue un périmètre de pagination distinct. L'API Calendar vous oblige à appeler d'abord calendarList.list pour énumérer les calendriers accessibles, puis à boucler events.list sur chaque calendarId, ce qui multiplie par N le nombre de requêtes et l'état de sync stocké.
Le CLI utilise nylas calendar list pour cette énumération. Combiné à nylas calendar events list --calendar-id, un simple script shell pagine chaque calendrier :
# List every calendar the user has access to
nylas calendar list --json
# Loop pagination across all calendars
for cal in $(nylas calendar list --json | jq -r '.[].id'); do
nylas calendar events list \
--calendar-id "$cal" \
--days 30 \
--json
doneComment paginer sur plusieurs comptes ?
Les workflows calendrier en production couvrent souvent plusieurs comptes Google connectés — un dirigeant qui agrège ses calendriers professionnel et personnel, un assistant qui planifie sur cinq comptes clients, ou un outil de sales-ops qui lit le calendrier de chaque commercial d'un workspace. Google Calendar applique son quota par grant OAuth, donc synchroniser 10 comptes en parallèle fonctionne sans throttling inter-comptes, mais le code applicatif doit suivre 10 jeux de refresh tokens, 10 lots de syncToken par calendrier et 10 états de grant actifs.
Les grants sont des objets de premier ordre dans le CLI. nylas auth list affiche chaque compte connecté. nylas auth whoami indique quel grant la prochaine commande utilisera. nylas auth switch change le grant actif. Chaque commande calendrier accepte l'ID de grant comme argument positionnel, donc un seul script shell peut itérer sur les grants sans modifier l'état actif.
# Show every connected Google grant
nylas auth list --provider google --json
# Pull today's events from every connected calendar account
for grant in $(nylas auth list --provider google --json | jq -r '.[].id'); do
nylas calendar events list "$grant" \
--days 1 \
--json
doneComment synchroniser en CI, dans les tâches cron et les environnements headless ?
Les tokens d'accès OAuth2 de Google Calendar expirent toutes les 3 600 secondes, et le flux de rafraîchissement via navigateur ne fonctionne pas en CI, dans Docker, dans les sandbox d'agents IA ni dans aucun environnement sans surveillance. Le flux offline-access de Google exige une configuration interactive unique pour capturer un refresh token, que l'application stocke ensuite dans un gestionnaire de secrets et réutilise pendant les 6 mois suivants avant de redemander le consentement. L'alternative par compte de service nécessite la délégation à l'échelle du domaine de Google Workspace, une fonctionnalité réservée aux administrateurs et indisponible pour les comptes Google grand public.
Le Nylas CLI contourne le navigateur grâce à l'authentification par clé API. nylas auth config --api-key stocke une clé sans toucher au navigateur. nylas auth token génère un bearer token à portée limitée pour les appels API en aval. nylas auth status rapporte l'état d'authentification courant, utile pour les health checks dans les déploiements conteneurisés.
# Generate a daily schedule digest in a cron job — no browser
export NYLAS_API_KEY="nyk_..."
nylas auth config --api-key "$NYLAS_API_KEY"
nylas calendar events list --days 1 --json > /var/log/agenda.jsonQuand utiliser des webhooks plutôt que du polling ?
Interroger un compte Google Calendar toutes les 5 minutes génère 288 appels API par jour et par compte. Sur 1 000 utilisateurs connectés, cela fait 288 000 appels quotidiens, dont la plupart ne renvoient aucun changement. Google Calendar propose une alternative en notifications push via Cloud Pub/Sub ou une URL de callback webhook, mais la mise en place exige un topic Pub/Sub, des liaisons IAM pour calendar-api-push@system.gserviceaccount.com, des canaux de surveillance sur chaque calendrier et une tâche de renouvellement, car Google fait expirer les watches tous les 7 jours.
Les webhooks du CLI s'enregistrent sans topic Pub/Sub. nylas webhook create enregistre un endpoint HTTPS et une liste de déclencheurs. nylas webhook list montre ce qui est enregistré. nylas webhook triggers liste chaque événement pris en charge, dont event.created, event.updated, event.deleted et calendar.created. nylas webhook test send envoie un payload d'exemple à votre endpoint pour valider le récepteur. nylas webhook verify valide la signature HMAC des payloads entrants.
# Register a webhook for calendar event changes
nylas webhook create \
--url https://example.com/hooks/calendar \
--triggers event.created,event.updated,event.deleted \
--json
# Verify an inbound payload signature
nylas webhook verify \
--payload-file ./incoming.json \
--signature "$X_NYLAS_SIGNATURE" \
--secret "$WEBHOOK_SECRET"Pour un usage calendrier typique, le volume d'événements webhook tourne autour de 5 à 20 événements par utilisateur et par jour, contre 288 appels de polling. La latence entre un changement d'événement et sa détection par l'application passe de 5 minutes maximum à environ 1 seconde.
Comment les autres fournisseurs de calendrier gèrent-ils la pagination ?
Google Calendar n'est pas le seul fournisseur avec un contrat de pagination. Microsoft Graph (calendriers Outlook et Exchange Online) utilise @odata.nextLink, une URL complète que le client suit telle quelle, plus un mécanisme de delta-link pour la sync incrémentale. CalDAV (iCloud, Yahoo, Apple hébergé) ne pagine pas au sens REST : les requêtes REPORT avec des filtres calendar-query renvoient les événements correspondants en une seule réponse, la sync passant par sync-collection et les ETags. Exchange Web Services (EWS, utilisé par les anciens déploiements Exchange Server) utilise FindItem avec IndexedPageItemView.
| Fournisseur | Méthode de pagination | Sync incrémentale | Taille de page max |
|---|---|---|---|
| Google Calendar | nextPageToken | syncToken | 2 500 |
| Microsoft Graph (Outlook/Exchange) | @odata.nextLink | Lien delta | 1 000 |
| CalDAV (iCloud, Yahoo) | Pas de pagination | sync-collection + ETag | Pas de limite de page |
| EWS (Exchange legacy) | IndexedPageItemView | SyncFolderItems | 1 000 |
Des guides par fournisseur traitent le même problème dans chaque contrat : Gérer Google Calendar depuis le terminal, Gérer le calendrier Outlook, Gérer le calendrier Exchange, Gérer le calendrier iCloud et Gérer le calendrier Yahoo. La même commande nylas calendar events list est documentée pour fonctionner avec chaque fournisseur avec des flags identiques.
Le comportement côté fournisseur décrit ci-dessus pour Outlook, Exchange, iCloud et Yahoo provient de la documentation publique de chaque fournisseur, pas d'une exécution de bout en bout vérifiée sur chaque backend. Testez localement avant de déployer des workflows spécifiques à un fournisseur.
Combien de temps prend la synchronisation d'un Google Calendar ?
Synchroniser un seul Google Calendar de 500 événements prend environ 2 secondes via une commande CLI, et un compte multi-calendriers de 50 000 événements étendus environ 1 minute. La même charge prend respectivement ~4 secondes et ~6 minutes via une boucle de pagination Python séquentielle avec backoff, parce que la boucle ne peut pas se paralléliser sous le plafond de 600 requêtes par minute par utilisateur sans pools de threads explicites. Les benchmarks ci-dessous ont été mesurés sur une connexion haut débit résidentielle avec une latence médiane d'environ 150 ms vers les serveurs Google.
| Taille du compte | Boucle Python events.list | Nylas CLI | Appels API |
|---|---|---|---|
| 1 calendrier, 500 événements | ~4 s | ~2 s | 1-2 |
| 3 calendriers, 5 000 événements | ~25 s | ~5 s | ~10 |
| 5 calendriers, 20 000 événements (étendus) | ~2 min | ~25 s | ~40 |
| 8 calendriers, 50 000 événements (étendus) | ~6 min (avec backoff) | ~1 min | ~100 |
La différence de temps total vient surtout de la concurrence. La boucle séquentielle naïve de Python itère les calendriers un par un ; le CLI parallélise la pagination par calendrier jusqu'au plafond de 600 requêtes par minute par utilisateur. Les nombres d'appels API ci-dessus restent identiques — le CLI ne peut pas rendre les appels sous-jacents de Google moins chers, seulement plus rapides à dispatcher.
Quelles sont les recettes courantes de synchronisation Google Calendar ?
Quatre patterns shell combinant la pagination calendrier avec les outils UNIX standard. Chacun utilise jq pour parser la sortie JSON et --json pour un format lisible par machine.
Agenda du jour
Un script d'agenda quotidien enveloppe nylas calendar events list --days 1 dans un filtre jq qui affiche l'heure de début et le titre de chaque événement des prochaines 24 heures. Utile pour les prompts d'accueil shell, les tableaux de bord en terminal ou l'envoi vers un LLM pour un résumé matinal. S'exécute en environ 2 secondes sur un compte moyen.
nylas calendar events list --days 1 --json \
| jq -r '.[] | "\(.when.start_time) - \(.title)"'Trouver un créneau libre sur plusieurs calendriers
nylas calendar find-time interroge les données de disponibilité de chaque participant et renvoie les créneaux où tout le monde est libre pour la durée demandée. Le CLI gère la normalisation des fuseaux horaires entre participants : un créneau de 30 minutes proposé à 9 h PT se lit aussi 12 h ET dans la réponse. Associez-le à nylas calendar availability check pour les fenêtres occupées brutes.
nylas calendar find-time \
--participants you@example.com,colleague@example.com \
--duration 30 \
--days 7 \
--jsonDétecter les conflits dans le calendrier de la semaine
nylas calendar ai conflicts analyse les N prochains jours et signale trois niveaux de gravité : conflits durs (événements simultanés), conflits légers (moins de 15 minutes entre réunions) et risques de temps de trajet. L'horizon par défaut est de 7 jours. Associez-le à nylas calendar ai reschedule pour proposer des corrections à chaque conflit.
nylas calendar ai conflicts --days 7 --jsonRefuser en masse les événements d'un organisateur donné
Combinez nylas calendar events list avec nylas calendar events rsvp pour refuser chaque invitation d'un expéditeur en un seul pipeline. La commande RSVP accepte --status yes, --status no ou --status maybe. Remplacez par nylas calendar events delete quand l'événement vous appartient. Pour de l'analytique façon boîte de réception, voir nylas calendar analyze.
nylas calendar events list --json \
| jq -r '.[] | select(.organizer.email == "noisy@example.com") | .id' \
| xargs -I{} nylas calendar events rsvp --id {} --status noComment la synchronisation CLI se compare-t-elle à la pagination API brute ?
Le tableau ci-dessous compare l'approche Python avec l'API Google Calendar au Nylas CLI sur 9 capacités. La plus grande différence est l'état de sync par calendrier — les clients de synchronisation doivent gérer un curseur et un chemin de repli pour chaque calendrier de l'utilisateur, tandis que le CLI gère cette distribution en interne.
| Capacité | API Google Calendar (Python) | Nylas CLI |
|---|---|---|
| Pagination | nextPageToken manuel par calendrier | Gérée en interne |
| Sync incrémentale | syncToken par calendrier | Gérée en interne |
| Distribution multi-calendriers | Boucle externe sur calendarList.list | nylas calendar list |
| Événements récurrents | singleEvents=true + connaissance des RRULE | Un seul flag |
| Authentification | Projet GCP + écran de consentement OAuth + refresh des tokens | nylas auth login ou nylas auth config --api-key |
| Expiration des tokens | 3 600 s — callback de refresh manuel | Rafraîchissement automatique |
| Récupération après 410 Gone | Re-pagination complète manuelle par calendrier | Gérée en interne |
| Limites de débit | 600 req/min/utilisateur, 1 M/jour/projet — throttling manuel | Gérées en interne |
| Multi-fournisseurs | Google uniquement | Google, Outlook, Exchange, iCloud, Yahoo |
Que doivent savoir les développeurs avant la mise en production ?
Qu'est-ce que nextPageToken dans l'API Google Calendar ?
Quand vous appelez events.list sur un calendrier, l'API renvoie jusqu'à 2 500 événements par page (250 par défaut). S'il existe d'autres événements, la réponse inclut une chaîne nextPageToken. Vous passez ce token comme paramètre pageToken dans votre requête suivante pour récupérer la page d'après. Vous bouclez jusqu'à ce que la réponse ne contienne plus de nextPageToken, ce qui signifie que vous avez atteint la fin et que la réponse inclut un nextSyncToken pour la sync incrémentale.
Comment fonctionne la sync incrémentale de Google Calendar avec syncToken ?
Après avoir entièrement paginé un calendrier, la dernière réponse inclut un nextSyncToken. Stockez-le par calendrier. À la synchronisation suivante, passez-le comme syncToken à events.list et la réponse ne contient que les événements créés, mis à jour ou supprimés depuis la dernière sync. Si le token a été invalidé, l'API renvoie 410 Gone et vous devez relancer une pagination complète depuis zéro pour obtenir un token frais.
Pourquoi l'API Calendar renvoie-t-elle 410 au lieu de 404 ?
410 Gone indique au client que la ressource (ici la session de sync identifiée par le token) a existé mais a été délibérément invalidée. L'échec analogue de Gmail sur un historyId périmé renvoie 404 parce que les enregistrements d'historique de Gmail expirent sur une fenêtre glissante ; Calendar utilise 410 parce que le token lui-même a été révoqué. Fonctionnellement, les deux signifient la même chose : jetez le token stocké et re-paginez entièrement.
Puis-je lister les événements Calendar sans configurer Google Cloud ?
Oui. Le Nylas CLI gère OAuth2 et l'authentification fournisseur en interne. Exécutez nylas calendar events list --limit 50 --json pour lister les événements sans créer de projet Google Cloud, configurer un écran de consentement OAuth ni gérer des tokens d'accès. Le même flux fonctionne avec Google, Outlook, Exchange, iCloud et Yahoo.
Comment synchroniser un seul calendrier spécifique ?
Passez --calendar-id à nylas calendar events list. Utilisez nylas calendar list pour voir chaque identifiant de calendrier du compte connecté. Les identifiants ressemblent à primary, en.usa#holiday@group.v.calendar.google.com, ou à un UUID pour les calendriers partagés.
Comment gérer les événements récurrents ?
Le CLI étend les événements récurrents par défaut — un standup hebdomadaire sur 12 mois apparaît comme 52 lignes séparées, chacune avec sa propre heure d'occurrence. L'appel events.list sous-jacent à Google Calendar utilise singleEvents=true, donc les consommateurs obtiennent des instances étendues sans avoir à interpréter la syntaxe RRULE. Les événements maîtres avec leurs règles de récurrence intactes ne sont pas exposés actuellement via le CLI.
Puis-je synchroniser des calendriers dans une tâche cron sans pop-up OAuth ?
Oui. Utilisez nylas auth config --api-key au lieu de nylas auth login. Le flux par clé API n'ouvre pas de navigateur, donc il fonctionne sur les machines headless, dans les conteneurs Docker et dans les pipelines CI. Stockez la clé comme secret là où cron s'exécute.
Le CLI fonctionne-t-il de la même manière avec les calendriers Outlook et iCloud ?
Oui. nylas calendar events list, nylas calendar events show et nylas calendar events create fonctionnent avec Google Calendar, Microsoft Graph (Outlook et Exchange Online), CalDAV (iCloud, Yahoo) et EWS (Exchange legacy). Les guides par fournisseur sont disponibles dans Gérer le calendrier Outlook, Gérer le calendrier iCloud et Gérer le calendrier Exchange.
Puis-je recevoir des notifications push pour les changements de calendrier ?
Oui. nylas webhook create enregistre un endpoint HTTPS pour des événements comme event.created, event.updated et event.deleted sans nécessiter de topic Cloud Pub/Sub. Exécutez nylas webhook triggers pour voir chaque type d'événement pris en charge.
Étapes suivantes
La pagination des calendriers est l'un des nombreux défis récurrents d'intégration API. Ces guides associés couvrent les workflows voisins : sync Gmail, contrôle de concurrence par ETag, gestion des calendriers par fournisseur et surface complète des commandes.
- Pagination et synchronisation de l'API Gmail — les mêmes patterns appliqués à
messages.listethistoryId - Gérer Google Calendar depuis le terminal — création, mise à jour, RSVP et workflows de disponibilité
- Gérer le calendrier Outlook depuis le terminal — l'équivalent
@odata.nextLinkde Microsoft Graph - Gérer le calendrier iCloud depuis le terminal — la pagination CalDAV via les mêmes commandes
- Gestion d'If-Match et ETag dans l'API Gmail — 412 Precondition Failed et contrôle de concurrence
- Transferts de propriété Google Calendar — quand les calendriers changent de compte
- Gérer les calendriers depuis le terminal — guide hub multi-fournisseurs
- Bien démarrer — méthodes d'installation et première authentification
- Commande calendar events list — les flags exacts pour
--limit,--days, la sélection de calendrier et la sortie JSON - Commande calendar list — énumérer les calendriers avant de boucler sur les pages d'événements
- Référence complète des commandes — chaque flag et sous-commande documentés