user: delta
Espacio de nombres: microsoft.graph
Obtenga usuarios recién creados, actualizados o eliminados sin tener que realizar una lectura completa de toda la colección de usuarios . Para obtener más información, consulte Uso de la consulta delta para realizar un seguimiento de los cambios en los datos de Microsoft Graph para obtener más información.
Nota:
Actualmente no se realiza el seguimiento de los cambios en la propiedad licenseAssignmentStates.
Esta API está disponible en las siguientes implementaciones nacionales de nube.
Servicio global | Gobierno de EE. UU. L4 | Us Government L5 (DOD) | China operada por 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
Tipo de permiso | Permisos con privilegios mínimos | Permisos con privilegios más altos |
---|---|---|
Delegado (cuenta profesional o educativa) | User.Read.All | Directory.Read.All, Directory.ReadWrite.All, User.ReadWrite.All |
Delegado (cuenta personal de Microsoft) | No admitida. | No admitida. |
Application | User.Read.All | Directory.Read.All, Directory.ReadWrite.All, User.ReadWrite.All |
Solicitud HTTP
Para comenzar a realizar el seguimiento de los cambios, realice una solicitud mediante la inclusión de la función delta en el recurso users.
GET /users/delta
Parámetros de consulta
El seguimiento de cambios en los usuarios conlleva al menos una llamada de una función delta. Si usa cualquier parámetro de consulta (distinto de $deltatoken
y $skiptoken
), debe especificarlo en la solicitud delta inicial. Microsoft Graph codifica automáticamente cualquier parámetro especificado en la parte del token de la URL @odata.nextLink
o @odata.deltaLink
proporcionada en la respuesta.
Solo debe especificar una vez por adelantado los parámetros de consulta deseados.
En solicitudes posteriores, copie y aplique la dirección URL @odata.nextLink
o @odata.deltaLink
de la respuesta anterior, dado que la dirección URL ya incluye los parámetros codificados deseados.
Parámetro de consulta | Tipo | Descripción |
---|---|---|
$deltatoken | string | Un token de estado devuelto en la @odata.deltaLink dirección URL de la llamada de función delta anterior para la misma colección de usuarios, que indica la finalización de esa ronda de seguimiento de cambios. Guarde y aplique toda la dirección URL @odata.deltaLink , incluido este token, en la primera solicitud de la siguiente ronda de seguimiento de cambios de la colección. |
$skiptoken | string | Un token de estado que se devuelve en la dirección URL de @odata.nextLink de la llamada de función delta. Indica que debe realizarse el seguimiento de más cambios en la misma colección de usuarios. |
Parámetros de consulta de OData
Este método admite parámetros opcionales de consulta de OData a modo de ayuda para personalizar la respuesta.
- Puede utilizar un parámetro de consulta
$select
como en cualquier solicitud GET para especificar solo las propiedades que necesita para un mejor rendimiento. Siempre se devuelve la propiedad id. - Hay compatibilidad limitada con
$filter
:- La única expresión
$filter
admitida es para realizar un seguimiento de los cambios en un objeto específico:$filter=id+eq+{value}
. Puede filtrar varios objetos. Por ejemplo,https://graph.microsoft.com/v1.0/users/delta/?$filter= id eq '477e9fc6-5de7-4406-bb2a-7e5c83c9ffff' or id eq '004d6a07-fe70-4b92-add5-e6e37b8affff'
. Hay un límite de 50 objetos filtrados.
- La única expresión
Encabezados de solicitud
Nombre | Descripción |
---|---|
Authorization | {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
Content-Type | application/json |
Prefer | return=minimal. Especificar este encabezado con una solicitud que utiliza un @odata.deltaLink devolverá solo las propiedades del objeto que han cambiado desde la última ronda. Opcional. |
Cuerpo de la solicitud
No proporcione un cuerpo de solicitud para este método.
Respuesta
Si se ejecuta correctamente, este método devuelve el código de respuesta 200 OK
y el objeto de colección usuario en el cuerpo de la respuesta. La respuesta también incluye una dirección URL @odata.nextLink
o @odata.deltaLink
.
Si se devuelve una dirección URL
@odata.nextLink
:- Esto significa que hay más páginas de datos para recuperar en la sesión. La aplicación continúa realizando solicitudes mediante la
@odata.nextLink
dirección URL hasta que se incluye una@odata.deltaLink
dirección URL en la respuesta. - La respuesta incluye el mismo conjunto de propiedades que la solicitud de consulta delta inicial. Esto le permite capturar el estado actual completo de los objetos al iniciar el ciclo delta.
- Esto significa que hay más páginas de datos para recuperar en la sesión. La aplicación continúa realizando solicitudes mediante la
Si se devuelve una dirección URL
@odata.deltaLink
:- Esto indica que no hay más datos sobre el estado existente del recurso que se va a devolver. Guarde y use la dirección URL
@odata.deltaLink
para obtener más información sobre los cambios al recurso en la siguiente ronda. - Existe una opción para especificar el encabezado
Prefer:return=minimal
, para incluir en la respuesta solo los valores de las propiedades que han cambiado desde el momento en el que se emitió@odata.deltaLink
.
- Esto indica que no hay más datos sobre el estado existente del recurso que se va a devolver. Guarde y use la dirección URL
Predeterminado: devolver las mismas propiedades que la solicitud delta inicial
De forma predeterminada, las solicitudes que usan un @odata.deltaLink
o un @odata.nextLink
devuelven las mismas propiedades que las seleccionadas en la consulta delta inicial de las siguientes formas:
- Si la propiedad ha cambiado, el nuevo valor se incluye en la respuesta. Esto incluye las propiedades a las cuales se les establece un valor nulo.
- Si la propiedad no ha cambiado, el valor anterior se incluye en la respuesta.
- Si la propiedad nunca se ha establecido, no se incluirá en la respuesta.
Nota: Con este comportamiento, no es posible determinar si una propiedad ha cambiado o no solo mirándola. Además, las respuestas diferenciales tienden a ser grandes porque contienen todos los valores de propiedad, como se muestra en el ejemplo 2.
Alternativa: devolver solo las propiedades que hayan cambiado
Agregar un encabezado de solicitud opcional, prefer:return=minimal
, ocasiona el comportamiento siguiente:
- Si la propiedad ha cambiado, el nuevo valor se incluye en la respuesta. Esto incluye las propiedades a las cuales se les establece un valor nulo.
- Si la propiedad no ha cambiado, la propiedad no se incluye en la respuesta en absoluto. (Distinto del comportamiento predeterminado).
Nota: Se puede agregar el encabezado en una solicitud
@odata.deltaLink
en cualquier momento del ciclo delta. El encabezado solo afecta al conjunto de propiedades incluido en la respuesta y no afecta la manera en que se ejecuta la consulta delta. Vea el Ejemplo 3.
Ejemplos
Ejemplo 1: Propiedades predeterminadas
Solicitud
En el ejemplo siguiente se muestra la solicitud. No hay ningún $select
parámetro, por lo que se realiza un seguimiento y se devuelve un conjunto predeterminado de propiedades.
GET https://graph.microsoft.com/v1.0/users/delta
Respuesta
Este es un ejemplo de la respuesta cuando se usa @odata.deltaLink
obtenido de la inicialización de la consulta.
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users",
"@odata.nextLink":"https://graph.microsoft.com/v1.0/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"
}
]
}
Ejemplo 2: seleccionar tres propiedades
Solicitud
El siguiente ejemplo muestra la solicitud inicial con la selección de tres propiedades para el control de cambios, con el comportamiento de respuesta predeterminado.
GET https://graph.microsoft.com/v1.0/users/delta?$select=displayName,jobTitle,mobilePhone
Respuesta
Este es un ejemplo de la respuesta cuando se usa @odata.deltaLink
obtenido de la inicialización de la consulta. Las tres propiedades se incluyen en la respuesta y no se sabe cuáles han cambiado desde @odata.deltaLink
que se obtuvo.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users",
"@odata.nextLink":"https://graph.microsoft.com/v1.0/users/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
"value": [
{
"displayName": "Adele Vance",
"jobTitle": "Retail Manager",
"mobilePhone": "+1 425 555 0109"
}
]
}
Ejemplo 3: comportamiento alternativo de respuesta mínima
Solicitud
El siguiente ejemplo muestra la solicitud inicial con la selección de 3 propiedades para el control de cambios, con el comportamiento alternativo de respuesta mínima:
GET https://graph.microsoft.com/v1.0/users/delta?$select=displayName,jobTitle,mobilePhone
Prefer: return=minimal
Respuesta
Este es un ejemplo de la respuesta cuando se usa @odata.deltaLink
obtenido de la inicialización de la consulta. La mobilePhone
propiedad no está incluida, lo que significa que no ha cambiado desde la última consulta delta; displayName
y jobTitle
se incluyen, lo que significa que sus valores han cambiado.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users",
"@odata.nextLink":"https://graph.microsoft.com/v1.0/users/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
"value": [
{
"displayName": "Vance Adele",
"jobTitle": "Product Marketing Manager"
}
]
}