user: delta
Espacio de nombres: microsoft.graph
Importante
Las API de la versión /beta
de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
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 los cambios, debe realizar una solicitud incluyendo la función delta en el recurso de los usuarios.
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/beta/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 dirección URL
@odata.nextLink
hasta que se incluya dirección URL@odata.deltaLink
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 dirección URL
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/beta/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/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"
}
]
}
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/beta/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/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"
}
]
}
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/beta/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/beta/$metadata#users",
"@odata.nextLink":"https://graph.microsoft.com/beta/users/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
"value": [
{
"displayName": "Vance Adele",
"jobTitle": "Product Marketing Manager"
}
]
}