Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Namespace: microsoft.graph
Receba um conjunto de mensagens adicionadas, excluídas ou atualizadas em uma pasta especificada.
Uma chamada de função delta para mensagens em uma pasta é semelhante a uma solicitação GET, exceto que, aplicando tokens de estado adequadamente em uma ou mais dessas chamadas, você pode consultar alterações incrementais nas mensagens dessa pasta. Ele permite que você mantenha e sincronize um armazenamento local das mensagens de um usuário sem ter que buscar todo o conjunto de mensagens do servidor todas as vezes.
Essa API está disponível nas seguintes implantações de nuvem nacional.
| Serviço global | Governo dos EUA L4 | US Government L5 (DOD) | China operada pela 21Vianet |
|---|---|---|---|
| ✅ | ✅ | ✅ | ❌ |
Permissões
Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
| Tipo de permissão | Permissões menos privilegiadas | Permissões com privilégios mais elevados |
|---|---|---|
| Delegado (conta corporativa ou de estudante) | Mail.ReadBasic | Mail.Read, Mail.ReadWrite |
| Delegado (conta pessoal da Microsoft) | Mail.ReadBasic | Mail.Read, Mail.ReadWrite |
| Aplicativo | Mail.ReadBasic.All | Mail.Read, Mail.ReadWrite |
Solicitação HTTP
Para obter todas as alterações nas mensagens na pasta de email especificada:
GET /me/mailFolders/{id}/messages/delta
GET /users/{id}/mailFolders/{id}/messages/delta
Para obter especificamente apenas mensagens criadas, atualizadas ou excluídas no 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
O acompanhamento de alterações em mensagens incorre em uma rodada de uma ou mais chamadas de função delta . Se você usar qualquer parâmetro de consulta (diferente de e $skiptoken) que seja uma opção de $deltatoken consulta do sistema OData ou a opção de consulta personalizada changeType, deverá especificá-lo na solicitação delta inicial. O Microsoft Graph codifica automaticamente todos os parâmetros especificados na parte do token da URL @odata.nextLink ou @odata.deltaLink fornecida na resposta.
Você só precisa especificar uma vez os parâmetros de consulta desejados antecipadamente.
Em solicitações subsequentes, basta copiar e aplicar a @odata.nextLink URL ou @odata.deltaLink da resposta anterior, pois essa URL já inclui os parâmetros codificados e desejados.
| Parâmetro de consulta | Tipo | Descrição |
|---|---|---|
| $deltatoken | cadeia de caracteres | Um token de estado retornado na @odata.deltaLink URL da chamada de função delta anterior para a mesma coleção de mensagens, indicando a conclusão dessa rodada de controle de alterações. Salve e aplique toda a URL @odata.deltaLink, incluindo esse token na primeira solicitação da próxima série de controle de alterações desse conjunto. |
| $skiptoken | string | Um token de estado retornado na URL @odata.nextLink da chamada de função delta anterior indicando que não há mais alterações a serem controladas na mesma coleção de mensagens. |
| changeType | string | Uma opção de consulta personalizada para filtrar a resposta delta com base no tipo de alteração. Os valores com suporte são created, updated, ou deleted. |
Parâmetros de consulta OData
- Você pode usar um parâmetro de consulta
$selectcomo em qualquer solicitação GET para especificar somente as propriedades necessárias para obter melhor desempenho. A propriedade id sempre será retornada. - Suporte à consulta delta
$select,$tope$expandpara mensagens. - Há suporte limitado para
$filtere$orderby:- As únicas expressões
$filtersuportadas são$filter=receivedDateTime+ge+{value}ou$filter=receivedDateTime+gt+{value}. - A única expressão
$orderbysuportada é$orderby=receivedDateTime+desc. Se você não incluir uma$orderbyexpressão, a ordem de devolução não será garantida.
- As únicas expressões
- Não há suporte para
$search.
Observação
As consultas delta para mensagens podem retornar eventos de alteração que não correspondem às condições de filtro especificadas na solicitação inicial.
Eles incluem:
-
@removedentradas quando"reason": "deleted"um item é excluído ou movido da pasta. - Alterações de estado lidas/não lidas.
Esses eventos não se originam de alterações na própria mensagem. Eles são emitidos como parte do processo de sincronização no nível da pasta do qual os tokens delta dependem.
O rastreamento delta opera no nível da coleção , não no nível da mensagem e, portanto, esses eventos não são filtrados.
Os clientes devem estar preparados para lidar com essas entradas para manter uma exibição local precisa e totalmente sincronizada da coleção de mensagens.
Cabeçalhos de solicitação
| Nome | Tipo | Descrição |
|---|---|---|
| Autorização | string | {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-Type | string | application/json. Obrigatório. |
| Preferir | cadeia de caracteres | odata.maxpagesize={x}. Opcional. |
Resposta
Se bem-sucedido, este método retorna o código de resposta 200 OK e uma coleção de objetos message no corpo da resposta.
Exemplo
Solicitação
O exemplo a seguir mostra como fazer uma única chamada de função delta e limitar o número máximo de mensagens no corpo da resposta a dois.
Para controlar as alterações nas mensagens em uma pasta, você faria uma ou mais chamadas de função delta para obter o conjunto de alterações incrementais desde a última consulta delta. Para obter um exemplo que mostra uma rodada de chamadas de consulta delta, consulte Obter alterações incrementais nas mensagens em uma pasta.
GET https://graph.microsoft.com/v1.0/me/mailFolders/AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZiLTU1OGY5OTZhYmY4OAAuAAAAAAAiQ8W967B7TKBjgx9rVEURAQAiIsqMbYjsT5e-T7KzowPTAAAAAAFNAAA=/messages/delta
Prefer: odata.maxpagesize=2
Resposta
Se a solicitação for bem-sucedida, a resposta incluirá um token de estado, que é um skipToken (em um cabeçalho de resposta @odata.nextLink ) ou um deltaToken (em um cabeçalho de resposta @odata.deltaLink ). Respectivamente, eles indicam se você deve continuar com a rodada ou se concluiu a obtenção de todas as alterações para essa rodada.
A resposta mostra um skipToken em um cabeçalho de resposta @odata.nextLink .
Observação: O objeto de resposta exibido aqui pode ser encurtado para legibilidade.
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"
}
}
]
}