message: delta
Espace de noms: microsoft.graph
Obtenez un ensemble de messages qui ont été ajoutés, supprimés ou mis à jour dans un dossier spécifié.
Un appel de fonction delta pour les messages d’un dossier est similaire à une requête GET, sauf qu’en appliquant de manière appropriée des jetons d’état dans un ou plusieurs de ces appels, vous pouvez interroger les modifications incrémentielles dans les messages de ce dossier. Cela vous permet de gérer et de synchroniser un magasin local des messages d’un utilisateur sans avoir à extraire l’ensemble des messages du serveur à chaque fois.
Cette API est disponible dans les déploiements de cloud national suivants.
Service global | Gouvernement des États-Unis L4 | Us Government L5 (DOD) | Chine gérée par 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ❌ |
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.
Type d’autorisation | Autorisations avec privilèges minimum | Autorisations privilégiées plus élevées |
---|---|---|
Déléguée (compte professionnel ou scolaire) | Mail.ReadBasic | Mail.Read, Mail.ReadWrite |
Déléguée (compte Microsoft personnel) | Mail.ReadBasic | Mail.Read, Mail.ReadWrite |
Application | Mail.ReadBasic.All | Mail.Read, Mail.ReadWrite |
Requête HTTP
Pour obtenir toutes les modifications apportées aux messages dans le mailFolder spécifié :
GET /me/mailFolders/{id}/messages/delta
GET /users/{id}/mailFolders/{id}/messages/delta
Pour obtenir spécifiquement uniquement les messages créés, mis à jour ou supprimés dans le mailFolder spécifié :
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
Paramètres de requête
Le suivi des modifications dans les messages entraîne une série d’appels de fonction delta . Si vous utilisez un paramètre de requête (autre que $deltatoken
et $skiptoken
) qui est une option de requête système OData ou l’option de requête personnalisée changeType, vous devez le spécifier dans la demande delta initiale. Microsoft Graph code automatiquement les paramètres spécifiés dans la partie jeton du @odata.nextLink
ou de l’URL @odata.deltaLink
fournie dans la réponse.
Il vous suffit de spécifier les paramètres de requête de votre choix la première fois.
Dans les requêtes suivantes, copiez et appliquez simplement l’URL @odata.nextLink
ou @odata.deltaLink
de la réponse précédente, car cette URL inclut déjà les paramètres encodés souhaités.
Paramètre de requête | Type | Description |
---|---|---|
$deltatoken | string | Jeton d’état retourné dans l’URL @odata.deltaLink de l’appel de fonction delta précédent pour la même collection de messages, indiquant la fin de cette série de suivi des modifications. Enregistrez et appliquez l’ensemble de l’URL @odata.deltaLink , y compris ce jeton dans la première requête de la série suivante de suivi des modifications pour cette collection. |
$skiptoken | string |
Jeton d’état renvoyé dans l’URL @odata.nextLink de l’appel de fonction delta précédent, indiquant que des modifications supplémentaires doivent être suivies dans la même collection de messages. |
changeType | string | Option de requête personnalisée pour filtrer la réponse delta en fonction du type de modification. Les valeurs prises en charge sont created , updated ou deleted . |
Paramètres de requête OData
- Vous pouvez utiliser un paramètre de requête
$select
comme dans toute requête GET pour spécifier uniquement les propriétés dont vous avez besoin pour de meilleures performances. La propriété id est toujours renvoyée. - La requête delta prend en charge
$select
,$top
et$expand
pour les messages. - Pour
$filter
et$orderby
, la prise en charge est limitée :- Les seules expressions
$filter
prises en charge sont$filter=receivedDateTime+ge+{value}
ou$filter=receivedDateTime+gt+{value}
. - La seule expression
$orderby
prise en charge est$orderby=receivedDateTime+desc
. Si vous n’incluez pas d’expression$orderby
, l’ordre de renvoi n’est pas garanti.
- Les seules expressions
-
$search
n’est pas pris en charge.
En-têtes de demande
Nom | Type | Description |
---|---|---|
Autorisation | string | Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation. |
Content-Type | string | application/json. Obligatoire. |
Préférence | chaîne | odata.maxpagesize={x}. Facultatif. |
Réponse
Si elle réussit, cette méthode renvoie un code de réponse 200 OK
et un objet de la collection message dans le corps de la réponse.
Exemple
Demande
L’exemple suivant montre comment effectuer un seul appel de fonction delta et limiter le nombre maximal de messages dans le corps de réponse à 2.
Pour suivre les modifications apportées aux messages d’un dossier, vous devez effectuer un ou plusieurs appels de fonction delta pour obtenir l’ensemble des modifications incrémentielles depuis la dernière requête delta. Pour obtenir un exemple montrant une série d’appels de requête delta, consultez Obtenir des modifications incrémentielles des messages dans un dossier.
GET https://graph.microsoft.com/v1.0/me/mailFolders/AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZiLTU1OGY5OTZhYmY4OAAuAAAAAAAiQ8W967B7TKBjgx9rVEURAQAiIsqMbYjsT5e-T7KzowPTAAAAAAFNAAA=/messages/delta
Prefer: odata.maxpagesize=2
Réponse
Si la demande réussit, la réponse inclut un jeton d’état, qui est soit un skipToken (dans un en-tête de réponse @odata.nextLink ) soit un deltaToken (dans un en-tête de réponse @odata.deltaLink ). Respectivement, ils indiquent si vous devez poursuivre la ronde ou si vous avez terminé d’obtenir toutes les modifications pour cette ronde.
La réponse suivante illustre un skipToken dans un en-tête de réponse @odata.nextLink.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
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"
}
}
]
}