Calendrier : delta

Espace de noms: microsoft.graph

Obtenez l’ajout, la mise à jour ou la suppression d’un ensemble de ressources de calendrier dans la boîte aux lettres d’un utilisateur.

En règle générale, la synchronisation des calendriers dans une boîte aux lettres d’un magasin local implique une série d’appels de fonction delta multiples. 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). L’utilisation de deltas vous permet de maintenir et de synchroniser de façon incrémentielle un magasin local de calendriers dans la boîte aux lettres spécifiée.

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

Service global Gouvernement américain L4 Gouvernement américain L5 (DOD) Chine exploitée par 21Vianet
✅ ❌ ❌ ❌

Autorisations

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

Type d’autorisation Autorisations les moins privilégiées Autorisations à privilèges plus élevés
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

Pour commencer le suivi des modifications, effectuez une demande qui inclut la fonction delta sur la ressource de calendrier.

Pour les modifications incrémentielles de la liste de calendriers dans la boîte aux lettres de l’utilisateur.

GET /me/calendars/delta
GET /users/{usersId}/calendars/delta

Paramètres de requête

Le suivi des modifications entraîne une série d’un ou plusieurs 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 encode automatiquement tous les paramètres spécifiés dans la partie jeton de l’URL @odata.nextLink ou @odata.deltaLink fournie dans la réponse.

Spécifiez les paramètres de requête souhaités uniquement dans la requête initiale.

Dans les demandes suivantes, utilisez l’URL @odata.nextLink ou @odata.deltaLink de la réponse précédente. L’URL inclut déjà les paramètres de requête encodés.

Paramètre de requête Type Description
$deltatoken String Jeton d’état renvoyé dans l’URL @odata.deltaLink de l’appel de fonction delta précédent pour la même liste de calendrier qui indique la fin de ce cycle de suivi des modifications. Enregistrez et appliquez l’URL @odata.deltaLink entière, y compris ce jeton, dans la première demande du prochain cycle de suivi des modifications pour cette liste de calendriers.
$skiptoken string Jeton d’état renvoyé dans l’URL @odata.nextLink de l’appel de fonction delta précédent qui indique que d’autres modifications doivent être suivies dans la même liste de calendrier.

Paramètres facultatifs de la requête

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

  • Vous pouvez utiliser un $select paramètre de requête comme dans n’importe quelle requête GET pour spécifier uniquement les propriétés dont vous avez besoin pour de meilleures performances.
  • La fonction delta ne prend pas en charge les paramètres de requête suivants : $expand, $filter, $orderbyet $search.

En-têtes de demande

Nom Type Description
Autorisation string Obligatoire. En savoir plus sur l’authentification et les autorisations.
Content-Type string application/json. Obligatoire.
Préférence chaîne odata.maxpagesize={x}. Facultatif.

Corps de la demande

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

Réponse

En cas de réussite, cette fonction renvoie un 200 OK code de réponse et une collection d’objets de calendrier dans le corps de la réponse.

Exemples

Demande

L’exemple suivant montre une demande sans le $select paramètre ; un ensemble de propriétés par défaut est suivi et renvoyé.

GET https://graph.microsoft.com/v1.0/me/calendars/delta

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 continuer le tour ou si vous avez fini d’obtenir tous les changements pour ce tour.

La réponse suivante affiche un en-tête de $deltaToken réponse @odata.deltaLink .

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.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(calendar)",
    "value": [
        {
            "@odata.type": "#microsoft.graph.calendar",
            "id": "AQMkADRhZThkMDVjLTJmNDctNDUyZC05YjA2LTI2YzRmMTIxOWJhZQBGAAADVDIMnvGkNkGo5_ASLe7iUQcAvXegGcyc-0O1dA1ftrtB6QAAAgEGAAAAvXegGcyc-0O1dA1ftrtB6QAAAUSwewAAAA==",
            "name": "Calendar",
            "color": "auto",
            "hexColor": "",
            "groupClassId": "0006f0b7-0000-0000-c000-000000000046",
            "isDefaultCalendar": true,
            "changeKey": "vXegGcyc/0O1dA1ftrtB6QAAAEO+6Q==",
            "canShare": true,
            "canViewPrivateItems": true,
            "isShared": false,
            "isSharedWithMe": false,
            "canEdit": true,
            "calendarGroupId": null,
            "allowedOnlineMeetingProviders": [
                "teamsForBusiness"
            ],
            "defaultOnlineMeetingProvider": "teamsForBusiness",
            "isTallyingResponses": true,
            "isRemovable": false,
            "owner": {
                "name": "Samantha Booth",
                "address": "samanthab@contoso.com"
            }
        },
        {
            "@odata.type": "#microsoft.graph.calendar",
            "id": "AQMkADRhZThkMDVjLTJmNDctNDUyZC05YjA2LTI2YzRmMTIxOWJhZQBGAAADVDIMnvGkNkGo5_ASLe7iUQcAvXegGcyc-0O1dA1ftrtB6QAAAgEGAAAAvXegGcyc-0O1dA1ftrtB6QAAAU4pOwAAAA==",
            "name": "Birthdays",
            "color": "auto",
            "hexColor": "",
            "groupClassId": "0006f0b7-0000-0000-c000-000000000046",
            "isDefaultCalendar": false,
            "changeKey": "vXegGcyc/0O1dA1ftrtB6QAAAEzvog==",
            "canShare": false,
            "canViewPrivateItems": true,
            "isShared": false,
            "isSharedWithMe": false,
            "canEdit": false,
            "calendarGroupId": null,
            "allowedOnlineMeetingProviders": [],
            "defaultOnlineMeetingProvider": "unknown",
            "isTallyingResponses": false,
            "isRemovable": true,
            "owner": {
                "name": "Samantha Booth",
                "address": "samanthab@contoso.com"
            }
        }
    ],
    "@odata.deltaLink": "https://graph.microsoft.com/v1.0/me/calendars/delta?$deltatoken=LztZwWjo5IivWBhyxw5rAIPrk_3pGHcZr4U33FHo0HpyBLqdo9QZIWfEL4AW1jMLBmo-o1ybmYCWlzQ5elO2bEDejh9Z8kYv_z4nhmHoC5Y.7Wdj3MWiils6M--JMM9dMyiLCh-1he4AZCqBu-8i42o"
}