Events: list

Renvoie les événements de l'agenda spécifié. Essayez maintenant ou voir 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 récupérer les ID d'agenda, appelez la méthode calendarList.list. Si vous souhaitez 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 à renvoyer. Facultatif. Ce paramètre peut être répété plusieurs fois pour renvoyer des événements de différents types. Si cette règle n'est pas configurée, elle renvoie tous les types d'événements.

Les valeurs acceptées sont les suivantes :
  • "birthday" : événements spéciaux qui durent toute la journée et se répètent chaque année.
  • "default": événements réguliers.
  • "focusTime": événements "Moment de concentration".
  • "fromGmail": événements ajoutés à partir de Gmail.
  • "outOfOffice": absences du bureau.
  • "workingLocation": événements de lieu de travail.
iCalUID string Spécifie un ID d'événement au format iCalendar à fournir dans la réponse. Facultatif. Utilisez-le si vous souhaitez rechercher un événement par 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 affichée peut être inférieur à cette valeur, voire nul, même si un plus grand nombre 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. La valeur par défaut est 250 événements. La taille de la page ne peut jamais dépasser 2 500 événements. Facultatif.
orderBy string Ordre des événements affiché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": tri par date/heure de début (ascendant). Cette option n'est disponible que lorsque vous interrogez des événements uniques (c'est-à-dire que le paramètre singleEvents est défini sur "True").
  • "updated": tri par date/heure de la dernière modification (par ordre croissant).
pageToken string Jeton spécifiant la page de résultats à renvoyer. Facultatif.
privateExtendedProperty string Contrainte de propriétés étendues spécifiée sous la forme propertyName=value. Ne correspond qu'aux propriétés privées. Ce paramètre peut être répété plusieurs fois pour renvoyer les événements correspondant à toutes les contraintes données.
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 correspondent également à des mots clés prédéfinis pour toutes les traductions du titre à afficher des événements de lieu de travail, d'absence et de moment de concentration. Par exemple, la recherche de "Bureau" ou "Office" renvoie des événements de lieu de travail de type officeLocation, tandis que la recherche de "Absent" ou "Abwesend" renvoie des événements d'absence. Facultatif.

sharedExtendedProperty string Contrainte de propriétés étendues spécifiée sous la forme propertyName=value. Ne correspond qu'aux propriétés partagées. Ce paramètre peut être répété plusieurs fois pour renvoyer les événements correspondant à toutes les contraintes données.
showDeleted boolean Indique si les événements supprimés (avec status égal à "cancelled") doivent être inclus dans le résultat. Les instances annulées d'événements récurrents (mais pas l'événement récurrent sous-jacent) sont toujours incluses si showDeleted et singleEvents sont tous deux définis sur "False". Si les valeurs showDeleted et singleEvents sont toutes deux définies sur "True", seules des instances uniques des événements supprimés (mais pas des événements périodiques sous-jacents) sont renvoyées. Facultatif. La valeur par défaut est "False" (faux).
showHiddenInvitations boolean Permet d'inclure ou non les invitations masquées dans le résultat. Facultatif. La valeur par défaut est "False" (faux).
singleEvents boolean Indique si les événements récurrents doivent être développés en instances et si seuls les événements ponctuels et les instances d'événements récurrents doivent être renvoyés, mais pas les événements récurrents sous-jacents. 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. Le résultat de cette requête de liste ne contient alors que les entrées qui ont été modifiées depuis. Tous les événements supprimés depuis la demande de liste précédente figureront toujours dans l'ensemble de résultats, et il n'est pas autorisé de définir showDeleted sur "False".
Plusieurs paramètres de requête ne peuvent pas être spécifiés avec nextSyncToken pour assurer la cohérence de l'état du client.

Il s'agit des éléments suivants:
  • 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 tout comportement indéfini. Si l'syncToken expire, le serveur répond avec un code de réponse 410 GONE. Le client doit alors vider son espace de stockage et effectuer une synchronisation complète sans 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 (exclusive) de l'heure de début d'un événement à filtrer. Facultatif. Par défaut, le filtre par heure de début n'est pas appliqué. Doit être un code temporel RFC 3339 avec un décalage de fuseau horaire obligatoire, par exemple 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Vous pouvez fournir des millisecondes, mais elles seront ignorées. Si timeMin est défini, timeMax doit être supérieur à timeMin.
timeMin datetime Limite inférieure (exclusive) pour l'heure de fin d'un événement à utiliser comme critère de filtrage. Facultatif. Par défaut, le filtre par heure de fin n'est pas appliqué. Doit être un code temporel RFC 3339 avec un décalage de fuseau horaire obligatoire, par exemple 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Vous pouvez fournir des millisecondes, mais elles seront ignorées. Si timeMax est défini, timeMin doit être inférieur à timeMax.
timeZone string Fuseau horaire utilisé dans la réponse. Facultatif. La valeur par défaut est le fuseau horaire de l'agenda.
updatedMin datetime Limite inférieure de l'heure de la dernière modification d'un événement (en tant qu'horodatage RFC3339) à utiliser comme critère de filtrage. Lorsque cette valeur est spécifiée, les entrées supprimées depuis cette date sont toujours incluses, quel que soit le paramètre showDeleted. Facultatif. Par défaut, le filtrage par heure de dernière modification n'est pas activé.

Autorisation

Cette requête autorise l'autorisation avec au moins l'une des portées suivantes:

Portée
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 Remarques
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 du calendrier. Lecture seule.
updated datetime Heure de la dernière modification du calendrier (au format 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 les suivantes:
  • "none" : l'utilisateur n'a pas accès à la ressource.
  • "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 s'affichent pour les utilisateurs disposant d'un accès lecteur, mais les détails de l'événement sont masqués.
  • "writer" : l'utilisateur dispose d'un accès en lecture et en écriture à l'agenda. Les événements privés s'affichent pour les utilisateurs disposant d'un accès en tant qu'auteur, et les détails de l'événement sont visibles.
  • "owner" : l'utilisateur est propriétaire de l'agenda. Ce rôle dispose de toutes les autorisations du rôle "Rédacteur", avec la possibilité supplémentaire de consulter et de manipuler les ACL.
defaultReminders[] list Rappels par défaut du calendrier pour l'utilisateur authentifié. Ces rappels s'appliquent à tous les événements de cet agenda qui ne les remplacent pas explicitement (c'est-à-dire que 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 lors de l'ajout d'un rappel.

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

Obligatoire lors de 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 ne récupérer que les entrées qui ont changé depuis le renvoi 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.