Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 utilisateurs nouvellement créés, mis à jour ou supprimés sans avoir à effectuer une lecture complète de la collection d’utilisateurs entière. Pour plus d’informations, consultez Utiliser une requête delta pour suivre les modifications dans les données Microsoft Graph pour plus de détails.
Remarque
Les modifications apportées à la propriété licenseAssignmentStates ne sont actuellement pas suivies.
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) | User.Read.All | AgentIdUser.ReadWrite.All, AgentIdUser.ReadWrite.IdentityParentedBy, Directory.Read.All, Directory.ReadWrite.All, User.ReadWrite.All |
| Déléguée (compte Microsoft personnel) | Non prise en charge. | Non prise en charge. |
| Application | User.Read.All | AgentIdUser.ReadWrite.All, AgentIdUser.ReadWrite.IdentityParentedBy, Directory.Read.All, Directory.ReadWrite.All, User.ReadWrite.All |
Requête HTTP
Pour commencer le suivi des modifications, effectuez une requête incluant la fonction delta sur la ressource users.
GET /users/delta
Paramètres de requête
Le suivi des modifications dans la ressource user 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 renvoyé dans l’URL @odata.deltaLink de l’appel de fonction delta précédent pour la même collection d’utilisateurs, indiquant la fin de ce cycle 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 d’utilisateurs. |
Paramètres de requête OData
Cette méthode prend en charge les paramètres de requête OData pour vous aider à personnaliser la réponse.
- Vous pouvez utiliser un paramètre de requête
$selectcomme 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. - La prise en charge est limitée pour
$filter:- La seule expression
$filterprise 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/beta/users/delta/?$filter=id eq '477e9fc6-5de7-4406-bb2a-7e5c83c9ffff' or id eq '004d6a07-fe70-4b92-add5-e6e37b8affff'. La limite est de 50 objets filtrés.
- La seule expression
En-têtes de demande
| Nom | Description |
|---|---|
| Autorisation | Porteur {token}. Obligatoire. En savoir plus sur l’authentification et les autorisations. |
| 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 user dans le corps de la réponse. La réponse inclut également une URL @odata.nextLink ou une URL @odata.deltaLink.
Si une URL
@odata.nextLinkest renvoyée :- Cela signifie que d’autres pages de données peuvent être récupérées dans la session. L’application continue d’effectuer des requêtes à l’aide de l’URL
@odata.nextLinkjusqu’à 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.
- Cela signifie que d’autres pages de données peuvent être récupérées dans la session. L’application continue d’effectuer des requêtes à l’aide de l’URL
Si une URL
@odata.deltaLinkest 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.deltaLinkpour é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.deltaLinka été émis.
- Cela indique qu’il n’y a plus de données sur l’état existant de la ressource à retourner. Enregistrez et utilisez l’URL
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 illustré dans l’exemple 2.
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é, elle n’est pas du tout incluse dans la réponse. (Différent du comportement par défaut).
Remarque : l’en-tête peut être ajouté à une
@odata.deltaLinkrequête à tout moment lors du cycle delta. L’en-tête affecte uniquement l’ensemble des propriétés incluses dans la réponse et n’affecte pas la façon dont la requête delta est exécutée. Voir l’exemple 3.
Exemples
Exemple 1 : propriétés par défaut
Demande
L’exemple suivant illustre une demande. Comme il n’y a pas $select de paramètre, un ensemble de propriétés par défaut est suivi et renvoyé.
GET https://graph.microsoft.com/beta/users/delta
Réponse
L’exemple suivant montre la 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é.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/beta/$metadata#users",
"@odata.nextLink":"https://graph.microsoft.com/beta/users/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
"value": [
{
"businessPhones": [
"+1 425 555 0109"
],
"displayName": "Adele Vance",
"givenName": "Adele",
"jobTitle": "Retail Manager",
"mail": "AdeleV@contoso.com",
"mobilePhone": "+1 425 555 0109",
"officeLocation": "18/2111",
"preferredLanguage": "en-US",
"surname": "Vance",
"userPrincipalName": "AdeleV@contoso.com",
"id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd"
}
]
}
Exemple 2 : sélection de trois propriétés
Demande
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/beta/users/delta?$select=displayName,jobTitle,mobilePhone
Réponse
L’exemple suivant montre la 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 .
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/beta/$metadata#users",
"@odata.nextLink":"https://graph.microsoft.com/beta/users/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
"value": [
{
"displayName": "Adele Vance",
"jobTitle": "Retail Manager",
"mobilePhone": "+1 425 555 0109"
}
]
}
Exemple 3 : comportement de réponse minimal alternatif
Demande
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 minimal alternatif.
GET https://graph.microsoft.com/beta/users/delta?$select=displayName,jobTitle,mobilePhone
Prefer: return=minimal
Réponse
L’exemple suivant montre la réponse lors de l’utilisation @odata.deltaLink obtenue à partir de l’initialisation de la requête. La mobilePhone propriété n’est pas incluse, ce qui signifie qu’elle n’a pas changé depuis la dernière requête displayName delta. Elle jobTitle est incluse, ce qui signifie que leurs valeurs ont changé.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/beta/$metadata#users",
"@odata.nextLink":"https://graph.microsoft.com/beta/users/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
"value": [
{
"displayName": "Vance Adele",
"jobTitle": "Product Marketing Manager"
}
]
}