Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.
Obtener un conjunto de mensajes que se agregaron, eliminaron o actualizaron en una carpeta especificada.
Una llamada de función delta para mensajes en una carpeta es similar a una solicitud GET, excepto que mediante la aplicación adecuada de tokens de estado en una o más de estas llamadas, puede consultar cambios incrementales en los mensajes de esa carpeta. El uso de deltas le permite mantener y sincronizar de forma incremental un almacén local de los mensajes de un usuario.
Esta API está disponible en las siguientes implementaciones en la nube nacional.
| Servicio global | Administración pública de EE. UU. | Gobierno de EE. UU. L5 (DOD) | China operado por 21Vianet |
|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos 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 carpeta de correo especificada:
GET /me/mailFolders/{id}/messages/delta
GET /users/{id}/mailFolders/{id}/messages/delta
Para obtener específicamente solo los mensajes creados, actualizados o eliminados en la carpeta de correo especificada:
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 implica una ronda de una o más llamadas a la función delta . Si usa cualquier opción de consulta del sistema OData o la opción de consulta personalizada, changeTypedebe especificarla en la solicitud diferencial 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@odata.deltaLink dirección URL o de la respuesta anterior, ya que esa dirección URL ya incluye los parámetros deseados codificados.
| 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, lo 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 las respuestas delta 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
$selectcomo 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$expandpara los mensajes. - La compatibilidad
$filtercon y$orderby:- Las únicas expresiones
$filteradmitidas son$filter=receivedDateTime+ge+{value}y$filter=receivedDateTime+gt+{value}. - La única expresión
$orderbyadmitida es$orderby=receivedDateTime+desc. Si no incluyes una$orderbyexpresión, la orden de devolución no está garantizada.
- Las únicas expresiones
- No hay compatibilidad con
$search.
Nota:
Las consultas delta de mensajes pueden devolver eventos de cambio que no coincidan con las condiciones de filtro especificadas en la solicitud inicial.
Entre las que se incluyen:
-
@removedentradas con"reason": "deleted"cuando se elimina o mueve un elemento de la carpeta. - Cambios de estado de lectura o no leído.
Estos eventos no se originan a partir de cambios en el mensaje en sí. Se emiten como parte del proceso de sincronización de nivel de carpeta en el que se basan los tokens delta.
El seguimiento diferencial opera en el nivel de colección , no en el nivel de mensaje y, por lo tanto, estos eventos no se filtran.
Los clientes deben estar preparados para manejar tales entradas para mantener una vista local precisa y totalmente sincronizada de la colección de mensajes.
Encabezados de solicitud
| Nombre | Tipo | Descripción |
|---|---|---|
| Authorization | string | {token} de portador. Obligatorio. Obtenga más información sobre autenticación y 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, debe realizar 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 muestra una ronda de llamadas de consulta diferencial, consulte Obtener cambios incrementales en los mensajes de una carpeta.
GET https://graph.microsoft.com/beta/me/mailFolders/{id}/messages/delta
Prefer: odata.maxpagesize=2
Respuesta
Si la solicitud es correcta, 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 debes continuar con la ronda o terminaste de obtener todos los cambios para esa ronda.
La siguiente respuesta muestra un skipToken en un encabezado de respuesta @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/beta/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"
}
}
]
}