Obtenir un événement

Espace de noms: microsoft.graph

Obtenez les propriétés et les relations de l’objet event spécifié.

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

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

  • Si l’application dispose des autorisations d’application ; ou
  • Si l'application dispose des autorisations déléguées appropriées d'un utilisateur, et qu'un autre utilisateur a partagé un calendrier avec cet utilisateur, ou a donné un accès délégué à cet utilisateur. Voir les détails et un exemple.

Dans la mesure où la ressource event prend en charge des extensions, vous pouvez également utiliser l’opération GET pour obtenir des propriétés personnalisées et des données d’extension dans une instance event.

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
Déléguée (compte Microsoft personnel) Calendars.Read
Application Calendars.Read

Requête HTTP

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

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

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

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

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 des 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.
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 un objet event dans le corps de la réponse.

Exemple

Demande 1

Le premier exemple obtient l’événement spécifié. 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/AAMkAGIAAAoZDOFAAA=?$select=subject,body,bodyPreview,organizer,attendees,start,end,location,hideAttendees 
Prefer: outlook.timezone="Pacific Standard Time"
Réponse 1

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

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

{
    "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users('cd209b0b-3f83-4c35-82d2-d88a61820480')/events(subject,body,bodyPreview,organizer,attendees,start,end,location,hideAttendees)/$entity",
    "@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":"tentativelyAccepted",
                "time":"0001-01-01T00:00:00Z"
            },
            "proposedNewTime": {
                "start": {
                    "dateTime": "2019-08-16T12:00:00.0000000",
                    "timeZone": "Pacific Standard Time"
                },
                "end": {
                    "dateTime": "2019-08-16T14:00:00.0000000",
                    "timeZone": "Pacific Standard Time"
                }
            },
            "emailAddress":{
                "name":"Dana Swope",
                "address":"danas@a830edad905084922E17020313.onmicrosoft.com"
            }
        }
    ],
    "hideAttendees": false,
    "organizer":{
        "emailAddress":{
            "name":"Samantha Booth",
            "address":"samanthab@a830edad905084922E17020313.onmicrosoft.com"
        }
    }
}
Demande 2

Le deuxième exemple illustre l’obtention d’un événement qui spécifie plusieurs emplacements. La demande spécifie un paramètre de requête $select pour renvoyer des propriétés spécifiques.

GET https://graph.microsoft.com/v1.0/me/events/AAMkADAGAADDdm4NAAA=?$select=subject,body,bodyPreview,organizer,attendees,start,end,location,locations
Réponse 2

Voici un exemple de la réponse. La propriété locations comprend les détails des 3 lieux pour lesquels l'événement est organisé.

Étant donné que la demande ne spécifie aucun en-tête Prefer: outlook.timezone, les propriétés start et end sont affichées dans le fuseau horaire UTC par défaut.

Le corps de l’événement est au format HTML par défaut.

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users('d1a2fae9-db66-4cc9-8133-2184c77af1b8')/events(subject,body,bodyPreview,organizer,attendees,start,end,location,locations)/$entity",
  "@odata.etag":"W/\"y53lbKh6jkaxHzFwGhgyxgAAw5zhug==\"",
  "id":"AAMkADAGAADDdm4NAAA=",
  "subject":"Plan summer company picnic",
  "bodyPreview":"Let's kick-start this event planning!",
  "body":{
    "contentType":"html",
    "content":"<html>\r\n<head>\r\n</head>\r\n<body>\r\nLet's kick-start this event planning!\r\n</body>\r\n</html>\r\n"
  },
  "start":{
    "dateTime":"2017-08-30T11:00:00.0000000",
    "timeZone":"UTC"
  },
  "end":{
    "dateTime":"2017-08-30T12:00:00.0000000",
    "timeZone":"UTC"
  },
  "location":{
    "displayName":"Conf Room 3; Fourth Coffee; Home Office",
    "locationType":"default",
    "uniqueId":"Conf Room 3; Fourth Coffee; Home Office",
    "uniqueIdType":"private"
  },
  "locations":[
    {
      "displayName":"Conf Room 3",
      "locationType":"default",
      "uniqueIdType":"unknown"
    },
    {
      "displayName":"Fourth Coffee",
      "locationType":"default",
      "uniqueId":"Fourth Coffee",
      "uniqueIdType":"private",
      "address":{
        "street":"4567 Main St",
        "city":"Redmond",
        "state":"WA",
        "countryOrRegion":"US",
        "postalCode":"32008"
      },
      "coordinates":{
        "latitude":47.672,
        "longitude":-102.103
      }
    },
    {
      "displayName":"Home Office",
      "locationType":"default",
      "uniqueIdType":"unknown"
    }
  ],
  "attendees":[
    {
      "type":"required",
      "status":{
        "response":"none",
        "time":"0001-01-01T00:00:00Z"
      },
      "emailAddress":{
        "name":"Dana Swope",
        "address":"DanaS@contoso.onmicrosoft.com"
      }
    },
    {
      "type":"required",
      "status":{
        "response":"none",
        "time":"0001-01-01T00:00:00Z"
      },
      "emailAddress":{
        "name":"Alex Wilber",
        "address":"AlexW@contoso.onmicrosoft.com"
      }
    }
  ],
  "organizer":{
    "emailAddress":{
      "name":"Adele Vance",
      "address":"AdeleV@contoso.onmicrosoft.com"
    }
  }
}

Voir aussi