Obtenir un événement

Espace de noms: microsoft.graph

Importante

Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .

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

Une application peut obtenir un événement dans le calendrier d’un autre utilisateur si :

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

Étant donné que la ressource d’événement prend en charge les 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 d’événement .

Cette API est disponible dans les déploiements de cloud national suivants.

Service global Gouvernement des États-Unis L4 Us Government L5 (DOD) Chine gérée par 21Vianet

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

Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) Calendars.ReadBasic Calendars.Read
Déléguée (compte Microsoft personnel) Calendars.ReadBasic Calendars.Read
Application Calendars.ReadBasic 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. En savoir plus sur l’authentification et l’autorisation.
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 l’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.

Exemples

Exemple 1 : Obtenir un événement spécifié

Demande

L’exemple suivant 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.
  • Paramètre $select de requête pour retourner des propriétés spécifiques. Sans paramètre $select, toutes les propriétés d’événement sont renvoyées.

La demande ne spécifie pas un en-tête Prefer: outlook.body-content-type pour indiquer le format du corps de l’événement renvoyé.

GET https://graph.microsoft.com/beta/me/events/AAMkAGIAAAoZDOFAAA=?$select=subject,body,bodyPreview,organizer,attendees,start,end,location,hideAttendees
Prefer: outlook.timezone="Pacific Standard Time"

Réponse

L’exemple suivant illustre la réponse. Comme aucun en-tête Prefer: outlook.body-content-type n’a été spécifié, 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"

{
    "@odata.context":"https://graph.microsoft.com/beta/$metadata#users('cd209b0b-3f83-4c35-82d2-d88a61820480')/events(subject,body,bodyPreview,organizer,attendees,start,end,location,hideAttendees)/$entity",
    "@odata.etag":"W/\"ZlnW4RIAV06KYYwlrfNZvQAAKGWwbw==\"",
    "id":"AAMkAGIAAAoZDOFAAA=",
    "iCalUId": "040000008200E00074=",
    "uid": "040000008200E00074C=",
    "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@contoso.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@contoso.com"
            }
        }
    ],
    "hideAttendees": false,
    "organizer":{
        "emailAddress":{
            "name":"Samantha Booth",
            "address":"samanthab@contoso.com"
        }
    }
}

Exemple 2 : Obtenir la propriété body au format texte

Demande

L’exemple suivant montre comment utiliser un Prefer: outlook.body-content-type="text" en-tête pour obtenir la propriété body de l’événement spécifié au format texte.

La demande utilise également un paramètre de requête $select pour 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/beta/me/events/AAMkAGI1AAAoZDOFAAA=?$select=subject,body,bodyPreview
Prefer: outlook.body-content-type="text"

Réponse

L’exemple suivant illustre la réponse. La propriété body est renvoyée au format texte.

HTTP/1.1 200 OK
Content-type: application/json
Preference-Applied: outlook.body-content-type="text"

{
    "@odata.context":"https://graph.microsoft.com/beta/$metadata#users('cd209b0b-3f83-4c35-82d2-d88a61820480')/events(subject,body,bodyPreview)/$entity",
    "@odata.etag":"W/\"ZlnW4RIAV06KYYwlrfNZvQAAKGWwbw==\"",
    "id":"AAMkAGI1AAAoZDOFAAA=",
    "iCalUId": "040000008200E00074=",
    "uid": "040000008200E00074C=",
    "subject":"Orientation ",
    "bodyPreview":"Dana, this is the time you selected for our orientation. Please bring the notes I sent you.",
    "body":{
        "contentType":"text",
        "content":"Dana, this is the time you selected for our orientation. Please bring the notes I sent you.\r\n"
    }
}

Exemple 3 : Obtenir un événement qui spécifie plusieurs emplacements

Demande

L’exemple suivant montre comment obtenir 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/beta/me/events/AAMkADAGAADDdm4NAAA=?$select=subject,body,bodyPreview,organizer,attendees,start,end,location,locations

Réponse

L’exemple suivant illustre la réponse. La propriété locations inclut des détails sur les 3 emplacements pour lesquels l’événement est organisé.

Étant donné que la requête ne spécifie aucun Prefer: outlook.timezone en-tête ou Prefer: outlook.body-content-type , les propriétés de début et de fin sont affichées dans le fuseau horaire UTC par défaut et le corps est au format HTML par défaut.

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

{
  "@odata.context":"https://graph.microsoft.com/beta/$metadata#users('d1a2fae9-db66-4cc9-8133-2184c77af1b8')/events(subject,body,bodyPreview,organizer,attendees,start,end,location,locations)/$entity",
  "@odata.etag":"W/\"y53lbKh6jkaxHzFwGhgyxgAAw5zhug==\"",
  "id":"AAMkADAGAADDdm4NAAA=",
  "iCalUId": "040000008200E00074=",
  "uid": "040000008200E00074C=",
  "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":{
        "type":"unknown",
        "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.com"
      }
    },
    {
      "type":"required",
      "status":{
        "response":"none",
        "time":"0001-01-01T00:00:00Z"
      },
      "emailAddress":{
        "name":"Alex Wilber",
        "address":"AlexW@contoso.com"
      }
    }
  ],
  "organizer":{
    "emailAddress":{
      "name":"Adele Vance",
      "address":"AdeleV@contoso.com"
    }
  }
}

Exemple 4 : Développer un événement maître de série

Demande

L’exemple suivant montre le développement d’un événement maître de série d’une série périodique avec des exceptions et des occurrences annulées. La demande spécifie un paramètre de requête $select pour renvoyer des propriétés spécifiques.

GET https://graph.microsoft.com/beta/me/events/AAMkADAGAADDdm4NAAA=?$select=subject,start,end,occurrenceId,exceptionOccurrences,cancelledOccurrences&$expand=exceptionOccurrences

Réponse

L’opération GET retourne les propriétés sélectionnées pour l’événement maître de série. Plus précisément, pour les événements de la collection exceptionOccurrences , l’opération retourne la propriété id et les propriétés sélectionnées applicables (subject, start, end, occurrenceId). En ce qui concerne les événements de la collection cancelledOccurrences , comme les événements n’existent plus, l’opération retourne uniquement leurs valeurs de propriété occurrenceId .

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

{
  "@odata.context":"https://graph.microsoft.com/beta/$metadata#users('d1a2fae9-db66-4cc9-8133-2184c77af1b8')/events(subject,start,end,occurrenceId,exceptionOccurrences,cancelledOccurrences)/$entity",
  "@odata.etag":"W/\"y53lbKh6jkaxHzFwGhgyxgAAw5zhug==\"",
  "id":"AAMkADAGAADDdm4NAAA=",
  "iCalUId": "040000008200E00074=",
  "uid": "040000008200E00074C=",
  "subject": "Daily stand-up",
  "cancelledOccurrences": [
     "OID.AAMkADAGAADDdm4NAAA=.2020-04-30",
     "OID.AAMkADAGAADDdm4NAAA=.2020-05-07",
     "OID.AAMkADAGAADDdm4NAAA=.2020-05-14"
    ],
  "occurrenceId": null,
    "start": {
        "dateTime": "2020-04-23T11:30:00.0000000",
        "timeZone": "UTC"
    },
  "end": {
        "dateTime": "2020-04-23T12:00:00.0000000",
        "timeZone": "UTC"
    },
  "exceptionOccurrences": [
        {
            "id": "AAMkADM0ZGRhMjdjLTA==",
            "Subject": "SM update 24",
            "occurrenceId": "OID.AAMkADAGAADDdm4NAAA=.2020-05-21",
            "start": {
                "dateTime": "2020-05-21T11:30:00.0000000",
                "timeZone": "UTC"
            },
            "end": {
                "dateTime": "2020-05-21T12:00:00.0000000",
                "timeZone": "UTC"
            }
        }
    ]
}