group: delta

Espace de noms: microsoft.graph

Obtenez des groupes nouvellement créés, mis à jour ou supprimés, y compris les modifications d’appartenance aux groupes, sans avoir à effectuer une lecture complète de l’ensemble de la collection de groupes. Pour plus d’informations, consultez Utilisation d’une requête Delta .

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) GroupMember.Read.All Directory.Read.All, Directory.ReadWrite.All, Group.Read.All, Group.ReadWrite.All
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application GroupMember.Read.All Directory.Read.All, Directory.ReadWrite.All, Group.Read.All, Group.ReadWrite.All

Requête HTTP

Pour commencer le suivi des modifications, vous effectuez une requête et incluez la fonction delta sur la ressource groups.

GET /groups/delta

Paramètres de requête

Le suivi des modifications dans les groupes 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 le @odata.nextLink ou l’URL @odata.deltaLink à partir de la réponse précédente, car cette URL inclut déjà les paramètres codés souhaités.

Paramètre de requête Type Description
$deltatoken string Jeton d’état retourné dans l’URL @odata.deltaLink de l’appel de fonction delta précédent pour la même collection de groupes, indiquant la fin de cette série de suivi des modifications. Enregistrez et appliquez l’ensemble de l’URL @odata.deltaLink, y compris ce jeton dans la première requête de la série suivante de suivi des modifications pour cette collection.
$skiptoken string Jeton d’é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 la même collection de groupes.

Paramètres de requête OData

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

  • Vous pouvez utiliser un paramètre de requête $select comme dans toute requête GET pour spécifier uniquement les propriétés dont vous avez besoin pour de meilleures performances. La propriété id est toujours renvoyée.
  • Vous pouvez utiliser $select=members pour obtenir des modifications d’appartenance. Vous pouvez également suivre d’autres modifications telles que la propriété et bien plus encore en sélectionnant n’importe quelle relation de groupe de type directoryObject collection.
  • La prise en charge $filterde :
    • La seule expression $filter prise en charge concerne le suivi des modifications sur un objet spécifique : $filter=id+eq+{value}. Vous pouvez filtrer plusieurs objets. Par exemple, https://graph.microsoft.com/v1.0/groups/delta/?$filter= id eq '477e9fc6-5de7-4406-bb2a-7e5c83c9ffff' or id eq '004d6a07-fe70-4b92-add5-e6e37b8affff'. Une limite est fixée à 50 objets filtrés.

En-têtes de demande

Nom Description
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation.
Content-Type application/json
Préférence return=minimal.

Spécifiant cet en-tête avec une demande utilisant un @odata.deltaLink retourne uniquement les propriétés d’objet qui ont été modifiées depuis la dernière passe. 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 de collection group dans le corps de la réponse. La réponse inclut également un jeton d’état qui est une @odata.nextLink URL ou une @odata.deltaLink URL.

  • Si une URL @odata.nextLink est renvoyée :

    • Cela indique qu’il y a plus de pages de données à récupérer dans la session. L’application continue d’effectuer des requêtes à l’aide de l’URL @odata.nextLink jusqu’à ce que la réponse contienne une URL @odata.deltaLink.
    • La réponse inclut le même ensemble de propriétés que dans la demande de requête delta initiale. Cela vous permet de capturer l’état actuel complet des objets lors du lancement de l’exécution du cycle delta.
  • Si une URL @odata.deltaLink est renvoyée :

    • Cela indique qu’il n’y a plus de données sur l’état existant de la ressource à retourner. Enregistrez et utilisez l’URL @odata.deltaLink pour étudier comment changer la ressource dans la passe suivante.
    • Pour avez le choix de pouvoir spécifier l’en-tête Prefer:return=minimal à inclure dans les valeurs de réponse uniquement pour les propriétés qui ont été modifiées depuis que le @odata.deltaLink a été émis.

Par défaut : retourne les mêmes propriétés que la requête delta initiale

Par défaut, les requêtes utilisant un @odata.deltaLink ou @odata.nextLink renvoient les mêmes propriétés sélectionnées dans la requête delta initiale comme suit :

  • Si la propriété a changé, la nouvelle valeur est incluse dans la réponse. Cela inclut les propriétés définies pour la valeur null.
  • Si la propriété n’a pas changé, l’ancienne valeur est incluse dans la réponse.
  • Si la propriété n’a jamais été configurée auparavant, elle ne sera pas du tout incluse dans la réponse.

Remarque : avec ce comportement, en examinant la réponse il n’est pas possible d’indiquer si une propriété change ou non. En outre, les réponses delta ont tendance à être volumineuses, car elles contiennent toutes les valeurs de propriété, comme indiqué dans le deuxième exemple ci-dessous.

En alternative : retourner uniquement les propriétés modifiées

Ajout d’un en-tête de la demande facultatif ( prefer:return=minimal ) engendre le comportement suivant :

  • Si la propriété a changé, la nouvelle valeur est incluse dans la réponse. Cela inclut les propriétés définies pour la valeur null.
  • Si la propriété n’a pas changé, la propriété n’est pas incluse dans la réponse. (Différent du comportement par défaut).

Remarque : l’en-tête peut être ajouté à une @odata.deltaLink requête à tout moment lors du cycle delta. L’en-tête n’affecte que l’ensemble des propriétés incluses dans la réponse et n’affecte pas comment la requête delta est exécutée. Voir le troisième exemple ci-dessous.

Exemple

Demande 1

L’exemple suivant illustre une demande. Comme il n’existe aucun $select paramètre, un ensemble de propriétés par défaut est suivi et retourné.

GET https://graph.microsoft.com/v1.0/groups/delta

Réponse 1

Voici un exemple de réponse lors de l’utilisation @odata.deltaLink obtenue à partir de l’initialisation de la requête.

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

Notez la présence de la propriété members@delta qui inclut les ID des objets membres dans le groupe.

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

{
  "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#groups","@odata.nextLink":"https://graph.microsoft.com/v1.0/groups/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjvY1FSSc_",
  "value":[
    {
      "createdDateTime":"2021-03-12T10:36:14Z",
      "description":"This is the default group for everyone in the network",
      "displayName":"All Company",
      "groupTypes": [
        "Unified"
      ],
      "mail": "allcompany@contoso.com",
      "members@delta": [
        {
          "@odata.type": "#microsoft.graph.user",
          "id": "693acd06-2877-4339-8ade-b704261fe7a0"
        },
        {
          "@odata.type": "#microsoft.graph.user",
          "id": "49320844-be99-4164-8167-87ff5d047ace"
        }
      ]
    }
  ]
}

Demande 2

L’exemple suivant montre la requête initiale sélectionnant trois propriétés pour le suivi des modifications, avec le comportement de réponse par défaut :

GET https://graph.microsoft.com/v1.0/groups/delta?$select=displayName,description,mailNickname

Réponse 2

Voici un exemple de réponse lors de l’utilisation @odata.deltaLink obtenue à partir de l’initialisation de la requête. Les trois propriétés sont incluses dans la réponse et on ne sait pas lesquelles ont changé depuis l’obtention @odata.deltaLink de .

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

{
  "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#groups",
  "@odata.nextLink":"https://graph.microsoft.com/v1.0/groups/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
  "value": [
    {
      "displayName": "All Company",
      "description": null,
      "mailNickname": "allcompany@contoso.com"
    }
  ]
}

Demande 3

L’exemple suivant montre la requête initiale sélectionnant trois propriétés pour le suivi des modifications, avec un comportement de réponse minimal alternatif :

GET https://graph.microsoft.com/v1.0/groups/delta?$select=displayName,description,mailNickname
Prefer: return=minimal

Réponse 3

Voici un exemple de réponse lors de l’utilisation @odata.deltaLink obtenue à partir de l’initialisation de la requête. La mailNickname propriété n’est pas incluse, ce qui signifie qu’elle n’a pas changé depuis la dernière requête delta ; displayName et description sont incluses, ce qui signifie que leurs valeurs ont changé.

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

{
  "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#groups",
  "@odata.nextLink":"https://graph.microsoft.com/v1.0/groups/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
  "value": [
    {
      "displayName": "Everyone",
      "description": null
    }
  ]
}