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.
Obtenga un conjunto de mensajes que se agregaron, eliminaron o actualizaron en una carpeta especificada.
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. El uso de deltas permite mantener y sincronizar de forma automática un almacén local de mensajes de un usuario.
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 opción de consulta del sistema OData o la opción de consulta personalizada, changeTypedebe especificarla 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, updatedo 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. - Hay compatibilidad limitada con
$filtery$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 incluye una$orderbyexpresión, no se garantiza el orden de devolución.
- Las únicas expresiones
- No hay compatibilidad con
$search.
Nota:
Las consultas delta de los mensajes pueden devolver eventos de cambio que no coinciden 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ídos.
Estos eventos no se originan a partir de cambios en el propio mensaje. Se emiten como parte del proceso de sincronización de nivel de carpeta en el que se basan los tokens delta.
El seguimiento diferencial funciona en el nivel de colección , no en el nivel de mensaje y, por tanto, estos eventos no se filtran.
Los clientes deben estar preparados para controlar dichas 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 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/beta/me/mailFolders/{id}/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 terminado de obtener todos los cambios de 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"
}
}
]
}