événement : delta

Espace de noms: microsoft.graph

Obtenez un ensemble de ressources d'événements qui ont été ajoutées, supprimées ou mises à jour dans un calendarview (une plage d'événements définie par des dates de début et de fin) du calendrier principal de l'utilisateur.

En général, la synchronisation des événements d'un calendarview dans un magasin local entraîne une série d'appels multiples à la fonction delta. L'appel initial est une synchronisation complète, et chaque appel delta ultérieur dans le même tour obtient les changements incrémentaux (ajouts, suppressions ou mises à jour). Cela vous permet de maintenir et de synchroniser un stock local d'événements dans le calendarview spécifiée, sans avoir à aller chercher tous les événements de ce calendrier sur le serveur à chaque fois.

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

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

Requête HTTP

GET /me/calendarView/delta?startDateTime={start_datetime}&endDateTime={end_datetime}
GET /users/{id}/calendarView/delta?startDateTime={start_datetime}&endDateTime={end_datetime}

Paramètres de requête

Le suivi des modifications dans les événements entraîne une série d’appels de fonction delta . Si vous utilisez un paramètre de requête (autre que $deltatoken et $skiptoken), vous devez le spécifier dans la requête delta initiale. Microsoft Graph code automatiquement les paramètres spécifiés dans la partie jeton du @odata.nextLink ou de l’URL @odata.deltaLink fournie dans la réponse. Il vous suffit de spécifier les paramètres de requête de votre choix la première fois. Dans les requêtes suivantes, copiez et appliquez simplement l’URL @odata.nextLink ou @odata.deltaLink de la réponse précédente, car cette URL inclut déjà les paramètres encodés souhaités.

Paramètre de requête Type Description
startDateTime String La date et l’heure de début de la plage horaire, représentées au format ISO 8601. Par exemple, « 2015-11-08T19:00:00.0000000 ».
endDateTime String La date et l’heure de fin de la plage horaire, représentées au format ISO 8601. Par exemple, « 2015-11-08T20:00:00.0000000 ».
$deltatoken string Jeton d’état retourné dans l’URL @odata.deltaLink de l’appel de fonction delta précédent pour le même affichage calendrier, indiquant la fin de cette série de suivi des modifications. Enregistrez et appliquez l’URL entière @odata.deltaLink , y compris ce jeton, dans la première demande de la série suivante de suivi des modifications pour cet affichage Calendrier.
$skiptoken string Jeton sur l’état renvoyé dans l’URL @odata.nextLink de l’appel de fonction delta précédent, indiquant que des modifications supplémentaires doivent être suivies dans le même affichage Calendrier.

Paramètres de requête OData

  • Attendez-vous à ce qu’un appel de fonction delta sur un calendarView retourne les mêmes propriétés que vous obtenez normalement à partir d’une GET /calendarView demande. Vous ne pouvez pas $select utiliser pour obtenir uniquement un sous-ensemble de ces propriétés.

  • Il existe d’autres paramètres de requête OData que la fonction delta pour calendarView ne prend pas en charge : $expand , et $filter$orderby$search .

En-têtes de demande

Nom Type Description
Autorisation string Porteur {token}. Obligatoire.
Content-Type string application/json. Obligatoire.
Préférence chaîne odata.maxpagesize={x}. Optional.
Préférence chaîne {Fuseau horaire}. Facultatif, format UTC utilisé si absente.

Réponse

Si elle réussit, cette méthode renvoie un code de réponse 200 OK et un objet de la collection event dans le corps de la réponse.

Dans une série d’appels de fonction delta liés par la plage de dates d’un calendarView,vous pouvez trouver un appel delta renvoyant deux types d’événements sous la @removed raison deleted :

  • Événements qui sont dans la plage de dates et qui ont été supprimés depuis l’appel delta précédent.
  • Événements en dehors de la plage de dates et qui ont été ajoutés, supprimés ou mis à jour depuis l’appel delta précédent.

Filtrez les @removed événements sous pour la plage de dates nécessaire à votre scénario.

Exemple

Demande

L’exemple suivant montre comment effectuer un seul appel de fonction delta et limiter le nombre maximal d’événements dans le corps de réponse à 2.

Pour effectuer le suivi des modifications dans une vue de calendrier, effectuez un ou plusieurs appels de fonction delta avec des jetons d’état appropriés, pour accéder à l’ensemble des modifications incrémentielles depuis la dernière requête delta.

GET https://graph.microsoft.com/v1.0/me/calendarView/delta?startdatetime={start_datetime}&enddatetime={end_datetime}
Prefer: odata.maxpagesize=2

Réponse

Si la demande réussit, la réponse inclut un jeton d’état, qui est soit un skipToken (dans un en-tête de réponse @odata.nextLink ) soit un deltaToken (dans un en-tête de réponse @odata.deltaLink ). Respectivement, ils indiquent si vous devez poursuivre la ronde ou si vous avez terminé d’obtenir toutes les modifications pour cette ronde.

La réponse suivante illustre un skipToken dans un en-tête de réponse @odata.nextLink.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

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

{
  "@odata.nextLink":"https://graph.microsoft.com/v1.0/me/calendarView/delta?$skiptoken={_skipToken_}",
  "value": [
    {
      "originalStartTimeZone": "originalStartTimeZone-value",
      "originalEndTimeZone": "originalEndTimeZone-value",
      "responseStatus": {
        "response": "response-value",
        "time": "datetime-value"
      },
      "transactionId": null,
      "iCalUId": "iCalUId-value",
      "reminderMinutesBeforeStart": 99,
      "isDraft": false,
      "isReminderOn": true
    }
  ]
}