Répertorier des événements

Espace de noms: microsoft.graph

Obtenir la liste des objets événement présents dans la boîte aux lettres de l’utilisateur. La liste contient les instances uniques de réunions et les réunions principales des séries.

Pour développer des instances d’événement, vous pouvez obtenir l’affichage du calendrier ou obtenir les instances d’un événement.

Actuellement, cette opération renvoie le corps des événements uniquement au format HTML.

Une application peut récupérer les événements du calendrier d’un autre utilisateur dans deux cas :

  • Si l’application dispose des autorisations d’application ; ou
  • Si l’application a les autorisations déléguées adéquates d’un utilisateur et si un autre utilisateur a partagé un calendrier avec cet utilisateur, ou s’il a accordé un accès délégué à cet utilisateur. Consultez les détails et un exemple.

Prise en charge de plusieurs fuseaux horaires

Pour toutes les opérations GET qui renvoient des événements, vous pouvez utiliser l’en-tête Prefer: outlook.timezone pour spécifier le fuseau horaire pour les heures de début et de fin dans la réponse.

Par exemple, l’en-tête Prefer: outlook.timezone suivant définit les heures de début et de fin dans la réponse sur l’heure normale de l’Est.

Prefer: outlook.timezone="Eastern Standard Time"

Si l’événement a été créé dans un autre fuseau horaire, les heures de début et de fin seront réglées sur le fuseau horaire spécifié dans cet en-tête Prefer. Voir cette liste pour les noms de fuseau horaire pris en charge. Si l’en-tête Prefer: outlook.timezone n’est pas spécifié, les heures de début et de fin sont renvoyées au format UTC.

Vous pouvez utiliser les propriétés OriginalStartTimeZone et OriginalEndTimeZone sur la ressource event pour déterminer le fuseau horaire utilisé lors de la création de l’événement.

Autorisations

L’une des autorisations suivantes est nécessaire pour appeler cette API. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) Calendars.Read, Calendars.ReadWrite
Déléguée (compte Microsoft personnel) Calendars.Read, Calendars.ReadWrite
Application Calendars.Read, Calendars.ReadWrite

Requête HTTP

GET /me/events
GET /users/{id | userPrincipalName}/events

GET /me/calendar/events
GET /users/{id | userPrincipalName}/calendar/events

GET /me/calendars/{id}/events
GET /users/{id | userPrincipalName}/calendars/{id}/events

GET /me/calendargroups/{id}/calendars/{id}/events
GET /users/{id | userPrincipalName}/calendargroups/{id}/calendars/{id}/events

Paramètres facultatifs de la requête

Cette méthode prend en charge les paramètres de requête OData pour vous aider à personnaliser la réponse.

En-têtes de demande

Nom Type Description
Autorisation string Porteur {token}. Obligatoire.
Prefer: outlook.timezone string Utilisez cette option pour définir le fuseau horaire pour les heures de début et de fin dans la réponse. Si aucune valeur n’est définie, les heures sont renvoyées au format UTC. Facultatif.
Prefer: outlook.body-content-type string Format auquel la propriété body est renvoyée. Les valeurs peuvent être au format « texte » ou « html ». Un en-tête Preference-Applied est renvoyé à titre de confirmation si l’en-tête Prefer est spécifié. Si cet en-tête n’est pas spécifié, la propriété body est renvoyée au format HTML. Facultatif.

Corps de la demande

N’indiquez pas le corps de la demande pour cette méthode.

Réponse

Si elle réussit, cette méthode renvoie un code de réponse 200 OK et une collection d’objets événement dans le corps de la réponse.

Exemple

Demande

Voici un exemple de demande. Elle indique les éléments suivants :

  • Un en-tête Prefer: outlook.timezone pour obtenir des valeurs de date/heure renvoyées au format PST.
  • Une requête $select avec des paramètres visant à renvoyer des propriétés spécifiques. Sans paramètre $select, toutes les propriétés d’événement sont renvoyées.
GET https://graph.microsoft.com/v1.0/me/events?$select=subject,body,bodyPreview,organizer,attendees,start,end,location
Prefer: outlook.timezone="Pacific Standard Time"
Réponse

Voici un exemple de réponse. La propriété body est renvoyée au format HTML (par défaut).

HTTP/1.1 200 OK
Content-type: application/json
Preference-Applied: outlook.timezone="Pacific Standard Time"
Content-length: 1932

{
    "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users('cd209b0b-3f83-4c35-82d2-d88a61820480')/events(subject,body,bodyPreview,organizer,attendees,start,end,location)",
    "value":[
        {
            "@odata.etag":"W/\"ZlnW4RIAV06KYYwlrfNZvQAAKGWwbw==\"",
            "id":"AAMkAGIAAAoZDOFAAA=",
            "subject":"Orientation ",
            "bodyPreview":"Dana, this is the time you selected for our orientation. Please bring the notes I sent you.",
            "body":{
                "contentType":"html",
                "content":"<html><head></head><body><p>Dana, this is the time you selected for our orientation. Please bring the notes I sent you.</p></body></html>"
            },
            "start":{
                "dateTime":"2017-04-21T10:00:00.0000000",
                "timeZone":"Pacific Standard Time"
            },
            "end":{
                "dateTime":"2017-04-21T12:00:00.0000000",
                "timeZone":"Pacific Standard Time"
            },
            "location": {
                "displayName": "Assembly Hall",
                "locationType": "default",
                "uniqueId": "Assembly Hall",
                "uniqueIdType": "private"
            },
            "locations": [
                {
                    "displayName": "Assembly Hall",
                    "locationType": "default",
                    "uniqueIdType": "unknown"
                }
            ],
            "attendees":[
                {
                    "type":"required",
                    "status":{
                        "response":"none",
                        "time":"0001-01-01T00:00:00Z"
                    },
                    "emailAddress":{
                        "name":"Samantha Booth",
                        "address":"samanthab@a830edad905084922E17020313.onmicrosoft.com"
                    }
                },
                {
                    "type":"required",
                    "status":{
                        "response":"none",
                        "time":"0001-01-01T00:00:00Z"
                    },
                    "emailAddress":{
                        "name":"Dana Swope",
                        "address":"danas@a830edad905084922E17020313.onmicrosoft.com"
                    }
                }
            ],
            "organizer":{
                "emailAddress":{
                    "name":"Samantha Booth",
                    "address":"samanthab@a830edad905084922E17020313.onmicrosoft.com"
                }
            }
        }
    ]
}