mensaje: delta
Espacio de nombres: microsoft.graph
Obtenga un conjunto de mensajes que se hayan agregado, eliminado o actualizado en una carpeta determinada.
Una llamada de función delta para los mensajes de una carpeta es similar a una solicitud GET, salvo que al aplicar correctamente tokens de estado en una o varias de estas llamadas, puede consultar los cambios incrementales en los mensajes de esa carpeta. Esto le permite mantener y sincronizar un almacén local de mensajes de un usuario sin tener que capturar todo el conjunto de mensajes del servidor cada vez.
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) | Mail.ReadBasic | Mail.Read, Mail.ReadWrite |
Delegado (cuenta personal de Microsoft) | Mail.ReadBasic | Mail.Read, Mail.ReadWrite |
Aplicación | Mail.ReadBasic.All | Mail.Read, Mail.ReadWrite |
Solicitud HTTP
Para obtener todos los cambios en los mensajes de la mailFolder especificada:
GET /me/mailFolders/{id}/messages/delta
GET /users/{id}/mailFolders/{id}/messages/delta
Para obtener específicamente solo mensajes creados, actualizados o eliminados en el mailFolder especificado:
GET /me/mailFolders/{id}/messages/delta?changeType=created
GET /users/{id}/mailfolders/{id}/messages/delta?changeType=created
GET /me/mailFolders/{id}/messages/delta?changeType=updated
GET /users/{id}/mailFolders/{id}/messages/delta?changeType=updated
GET /me/mailFolders/{id}/messages/delta?changeType=deleted
GET /users/{id}/mailFolders/{id}/messages/delta?changeType=deleted
Parámetros de consulta
El seguimiento de los cambios en los mensajes genera una ronda de una o varias llamadas de función delta . Si usa cualquier parámetro de consulta (distinto de $deltatoken
y $skiptoken
) que sea una opción de consulta del sistema OData o la opción de consulta personalizada changeType, 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, simplemente copie y aplique la @odata.nextLink
dirección URL o @odata.deltaLink
de la respuesta anterior, ya que esa dirección URL ya incluye los parámetros codificados y 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 mensajes, 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 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 mensajes. |
changeType | string | Una opción de consulta personalizada para filtrar la respuesta diferencial en función del tipo de cambio. Los valores admitidos son created , updated o deleted . |
Parámetros de consulta de OData
- 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. - Compatibilidad con consultas de delta
$select
,$top
, y$expand
para los mensajes. - Hay compatibilidad limitada para
$filter
y$orderby
:- Las únicas expresiones
$filter
admitidas son$filter=receivedDateTime+ge+{value}
y$filter=receivedDateTime+gt+{value}
. - La única expresión
$orderby
admitida es$orderby=receivedDateTime+desc
. Si no incluye una expresión$orderby
, no se garantiza el orden de devolución.
- Las únicas expresiones
- No hay compatibilidad con
$search
.
Encabezados de solicitud
Nombre | Tipo | Descripción |
---|---|---|
Authorization | string | {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
Content-Type | string | application/json. Necesario. |
Prefer | string | odata.maxpagesize={x}. Opcional. |
Respuesta
Si se ejecuta correctamente, este método devuelve un código de respuesta 200 OK
y el objeto de colección message en el cuerpo de la respuesta.
Ejemplo
Solicitud
En el ejemplo siguiente se muestra cómo realizar una llamada de función delta única y limitar el número máximo de mensajes en el cuerpo de la respuesta a 2.
Para realizar un seguimiento de los cambios en los mensajes de una carpeta, realizaría una o varias llamadas de función delta para obtener el conjunto de cambios incrementales desde la última consulta delta. Para obtener un ejemplo que muestre una ronda de llamadas de consulta delta, consulte Obtención de cambios incrementales en los mensajes de una carpeta.
GET https://graph.microsoft.com/v1.0/me/mailFolders/AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZiLTU1OGY5OTZhYmY4OAAuAAAAAAAiQ8W967B7TKBjgx9rVEURAQAiIsqMbYjsT5e-T7KzowPTAAAAAAFNAAA=/messages/delta
Prefer: odata.maxpagesize=2
Respuesta
Si la solicitud se realiza correctamente, la respuesta incluiría un token de estado, que es un skipToken (en un encabezado de respuesta @odata.nextLink ) o un deltaToken (en un encabezado de respuesta @odata.deltaLink ). Respectivamente, indican si debe continuar con la ronda o si ha completado la obtención de todos los cambios para esa ronda.
La respuesta siguiente muestra un skipToken en un encabezado de respuesta de @odata.nextLink.
Nota: el objeto de respuesta que se muestra aquí puede haberse acortado para mejorar la legibilidad.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.nextLink":"https://graph.microsoft.com/v1.0/me/mailFolders/{id}/messages/delta?$skiptoken={_skipToken_}",
"value": [
{
"receivedDateTime": "datetime-value",
"sentDateTime": "datetime-value",
"hasAttachments": true,
"internetMessageId": "internetMessageId-value",
"subject": "subject-value",
"body": {
"contentType": "contentType-value",
"content": "content-value"
}
}
]
}