é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. En savoir plus sur l’authentification et l’autorisation. |
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
}
]
}