Events: list

Renvoie les événements de l'agenda spécifié. Essayez maintenant ou consultez un exemple.

Requête

Requête HTTP

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

Paramètres

Nom du paramètre Valeur Description
Paramètres de chemin d'accès
calendarId string Identifiant de l'agenda. Pour obtenir les ID d'agenda, appelez la méthode calendarList.list. Pour accéder à l'agenda principal de l'utilisateur actuellement connecté, utilisez le mot clé "primary".
Paramètres de requête facultatifs
alwaysIncludeEmail boolean Obsolète et ignoré.
eventTypes string Types d'événements à afficher. Facultatif. Ce paramètre peut être répété plusieurs fois pour renvoyer des événements de types différents. Si cette règle n'est pas définie, elle renvoie tous les types d'événements.

Les valeurs acceptées sont les suivantes :
  • "default": événements réguliers.
  • "focusTime": événements "Moment de concentration".
  • "outOfOffice": absences du bureau.
  • "workingLocation": événements liés au lieu de travail.
iCalUID string Spécifie un ID d'événement au format iCalendar à fournir dans la réponse. Facultatif. Utilisez cette option si vous souhaitez rechercher un événement en fonction de son ID iCalendar.
maxAttendees integer Nombre maximal de participants à inclure dans la réponse. Si le nombre de participants est supérieur au nombre spécifié, seul le participant est renvoyé. Facultatif.
maxResults integer Nombre maximal d'événements renvoyés sur une page de résultats. Le nombre d'événements sur la page qui s'affiche peut être inférieur à cette valeur, voire aucun, même si davantage d'événements correspondent à la requête. Les pages incomplètes peuvent être détectées par un champ nextPageToken non vide dans la réponse. Par défaut, la valeur est de 250 événements. La taille de la page ne peut pas dépasser 2 500 événements. Facultatif.
orderBy string Ordre des événements renvoyés dans le résultat. Facultatif. La valeur par défaut est un ordre stable non spécifié.

Les valeurs acceptées sont les suivantes :
  • "startTime": triez par date/heure de début (dans l'ordre croissant). Cette option n'est disponible que lorsque vous interrogez des événements uniques (par exemple, le paramètre singleEvents est défini sur "True")
  • "updated": triez par date et heure de la dernière modification (ordre croissant).
pageToken string Jeton spécifiant la page de résultats à afficher. Facultatif.
privateExtendedProperty string Contrainte de propriétés étendues spécifiée en tant que PropertyName=value. Ne correspond qu'aux propriétés privées. Ce paramètre peut être répété plusieurs fois pour renvoyer des événements qui correspondent à toutes les contraintes.
q string Termes de recherche en texte libre pour trouver des événements correspondant à ces termes dans les champs suivants:
  • summary
  • description
  • location
  • displayName du participant
  • email du participant
  • displayName de l'organisateur
  • email de l'organisateur
  • workingLocationProperties.officeLocation.buildingId
  • workingLocationProperties.officeLocation.deskId
  • workingLocationProperties.officeLocation.label
  • workingLocationProperties.customLocation.label

Ces termes de recherche mettent également en correspondance des mots clés prédéfinis avec toutes les traductions du titre affiché pour le lieu de travail, les absences du bureau et les moments de concentration. Par exemple, la recherche "Bureau" ou "Bureau" affiche les événements de lieu de travail de type officeLocation, tandis que la recherche "Absent du bureau" ou "Abwesend" affiche les absences du bureau. Facultatif.

sharedExtendedProperty string Contrainte de propriétés étendues spécifiée en tant que PropertyName=value. Correspond uniquement aux propriétés partagées. Ce paramètre peut être répété plusieurs fois pour renvoyer des événements qui correspondent à toutes les contraintes.
showDeleted boolean Permet d'inclure ou non les événements supprimés (lorsque status est égal à "cancelled") dans le résultat. Les instances annulées d'événements périodiques (mais pas l'événement récurrent sous-jacent) seront toujours incluses si showDeleted et singleEvents sont tous deux définis sur "False". Si les valeurs showDeleted et singleEvents sont toutes les deux définies sur "True", seules des instances uniques d'événements supprimés (mais pas les événements périodiques sous-jacents) sont renvoyées. Facultatif. La valeur par défaut est "False" (faux).
showHiddenInvitations boolean Indique s'il faut inclure les invitations masquées dans le résultat. Facultatif. La valeur par défaut est "False" (faux).
singleEvents boolean Permet d'étendre les événements périodiques à plusieurs instances et de n'afficher que les événements ponctuels et les instances d'événements périodiques, mais pas les événements récurrents sous-jacents eux-mêmes. Facultatif. La valeur par défaut est "False" (faux).
syncToken string Jeton obtenu à partir du champ nextSyncToken renvoyé sur la dernière page de résultats de la requête de liste précédente. Ainsi, le résultat de cette requête de liste ne contiendra que les entrées qui ont été modifiées depuis. Tous les événements supprimés depuis la requête de liste précédente figurent toujours dans l'ensemble de résultats, et showDeleted n'est pas autorisé à être défini sur "False".
Pour assurer la cohérence de l'état du client, plusieurs paramètres de requête ne peuvent pas être spécifiés avec nextSyncToken.

Il s'agit:
  • iCalUID
  • orderBy
  • privateExtendedProperty
  • q
  • sharedExtendedProperty
  • timeMin
  • timeMax
  • updatedMin
Tous les autres paramètres de requête doivent être identiques à ceux de la synchronisation initiale pour éviter un comportement indéfini. Si syncToken expire, le serveur renvoie un code de réponse 410 GONE. Le client doit alors effacer son espace de stockage et effectuer une synchronisation complète sans aucun syncToken.
En savoir plus sur la synchronisation incrémentielle.
Facultatif. Par défaut, toutes les entrées sont renvoyées.
timeMax datetime Limite supérieure (exclue) de l'heure de début d'un événement à utiliser comme critère de filtrage. Facultatif. Par défaut, les données ne sont pas filtrées par heure de début. Il doit s'agir d'un horodatage RFC 3339 avec un décalage de fuseau horaire obligatoire, par exemple 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Les millisecondes peuvent être fournies, mais sont ignorées. Si timeMin est défini, timeMax doit être supérieur à timeMin.
timeMin datetime Limite inférieure (exclue) de l'heure de fin d'un événement à utiliser comme critère de filtrage. Facultatif. Par défaut, les données ne sont pas filtrées par heure de fin. Il doit s'agir d'un horodatage RFC 3339 avec un décalage de fuseau horaire obligatoire, par exemple 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Les millisecondes peuvent être fournies, mais sont ignorées. Si timeMax est défini, timeMin doit être inférieur à timeMax.
timeZone string Fuseau horaire utilisé dans la réponse. Facultatif. Le fuseau horaire par défaut est celui de l'agenda.
updatedMin datetime Limite inférieure de la date et de l'heure de la dernière modification d'un événement (en tant qu'horodatage RFC3339) à utiliser comme critère de filtrage. Si cette option est spécifiée, les entrées supprimées depuis cette date seront toujours incluses, quel que soit le showDeleted. Facultatif. Par défaut, les données ne sont pas filtrées par date et heure de la dernière modification.

L'autorisation

Cette requête autorise une autorisation avec au moins l'un des champs d'application suivants:

Champ d'application
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events.readonly
https://www.googleapis.com/auth/calendar.events

Pour en savoir plus, consultez la page Authentification et autorisation.

Corps de la requête

Ne spécifiez pas de corps de requête pour cette méthode.

Réponse

Si la requête aboutit, cette méthode renvoie un corps de réponse présentant la structure suivante :

{
  "kind": "calendar#events",
  "etag": etag,
  "summary": string,
  "description": string,
  "updated": datetime,
  "timeZone": string,
  "accessRole": string,
  "defaultReminders": [
    {
      "method": string,
      "minutes": integer
    }
  ],
  "nextPageToken": string,
  "nextSyncToken": string,
  "items": [
    events Resource
  ]
}
Nom de propriété Valeur Description Notes
kind string Type de la collection ("calendar#events").
etag etag ETag de la collection.
summary string Titre de l'agenda. Lecture seule.
description string Description de l'agenda. Lecture seule.
updated datetime Heure de la dernière modification de l'agenda (en tant que code temporel RFC3339). Lecture seule.
timeZone string Fuseau horaire de l'agenda. Lecture seule.
accessRole string Rôle d'accès de l'utilisateur pour cet agenda. Lecture seule. Les valeurs possibles sont:
  • "none" : l'utilisateur n'a aucun accès.
  • "freeBusyReader" : l'utilisateur dispose d'un accès en lecture aux informations de disponibilité.
  • "reader" : l'utilisateur dispose d'un accès en lecture à l'agenda. Les événements privés seront visibles par les utilisateurs disposant d'un accès en lecture, mais les détails de ces événements seront masqués.
  • "writer" : l'utilisateur dispose d'un accès en lecture et en écriture à l'agenda. Les événements privés seront visibles par les utilisateurs disposant d'un accès rédacteur, et les détails de ces événements seront visibles.
  • "owner" : l'utilisateur est propriétaire de l'agenda. Ce rôle dispose de toutes les autorisations du rôle "Rédacteur", avec en plus la capacité de voir et de manipuler les LCA.
defaultReminders[] list Rappels par défaut de l'agenda pour l'utilisateur authentifié. Ces rappels s'appliquent à tous les événements de cet agenda qui ne les remplacent pas explicitement (c'est-à-dire lorsque reminders.useDefault n'est pas défini sur "True").
defaultReminders[].method string Méthode utilisée par ce rappel. Les valeurs possibles sont:
  • "email" : les rappels sont envoyés par e-mail.
  • "popup" : les rappels sont envoyés via un pop-up dans l'interface utilisateur.

Obligatoire pour l'ajout d'un rappel.

accessible en écriture
defaultReminders[].minutes integer Nombre de minutes avant le début de l'événement pendant lequel le rappel doit se déclencher. Les valeurs valides sont comprises entre 0 et 40 320 (quatre semaines en minutes).

Obligatoire pour l'ajout d'un rappel.

accessible en écriture
nextPageToken string Jeton utilisé pour accéder à la page suivante de ce résultat. Omis si aucun autre résultat n'est disponible, auquel cas nextSyncToken est fourni.
items[] list Liste des événements de l'agenda.
nextSyncToken string Jeton utilisé ultérieurement pour récupérer uniquement les entrées qui ont été modifiées depuis l'affichage de ce résultat. Omis si d'autres résultats sont disponibles, auquel cas nextPageToken est fourni.

Exemples

Remarque : Les langages de programmation compatibles ne figurent pas tous dans les exemples de code présentés pour cette méthode (consultez la page Bibliothèques clientes pour obtenir la liste des langages compatibles).

Java

Utilise la bibliothèque cliente Java.

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.Event;
import com.google.api.services.calendar.model.Events;

// ...

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

// Iterate over the events in the specified calendar
String pageToken = null;
do {
  Events events = service.events().list('primary').setPageToken(pageToken).execute();
  List<Event> items = events.getItems();
  for (Event event : items) {
    System.out.println(event.getSummary());
  }
  pageToken = events.getNextPageToken();
} while (pageToken != null);

Python

Utilise la bibliothèque cliente Python

page_token = None
while True:
  events = service.events().list(calendarId='primary', pageToken=page_token).execute()
  for event in events['items']:
    print event['summary']
  page_token = events.get('nextPageToken')
  if not page_token:
    break

PHP

Utilise la bibliothèque cliente PHP

$events = $service->events->listEvents('primary');

while(true) {
  foreach ($events->getItems() as $event) {
    echo $event->getSummary();
  }
  $pageToken = $events->getNextPageToken();
  if ($pageToken) {
    $optParams = array('pageToken' => $pageToken);
    $events = $service->events->listEvents('primary', $optParams);
  } else {
    break;
  }
}

Ruby

Utilise la bibliothèque cliente Ruby.

page_token = nil
begin
  result = client.list_events('primary', page_token: page_token)
  result.items.each do |e|
    print e.summary + "\n"
  end
  if result.next_page_token != page_token
    page_token = result.next_page_token
  else
    page_token = nil
  end
end while !page_token.nil?

Essayer

Utilisez l'explorateur d'API ci-dessous pour appeler cette méthode sur des données en direct, puis observez la réponse.