message: delta
Namespace: microsoft.graph
Obtenha um conjunto de mensagens que foram 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 adequadamente tokens de estado em uma ou mais dessas chamadas, você pode consultar alterações incrementais nas mensagens nessa pasta. Isso permite que você mantenha e sincronize um repositório local das mensagens de um usuário sem precisar buscar todo o conjunto de mensagens do servidor todas as vezes.
Essa API está disponível nas seguintes implantações nacionais de nuvem.
Serviço global | Governo dos EUA L4 | GOVERNO DOS EUA L5 (DOD) | China operada pela 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ❌ |
Permissões
Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas 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 privilegiadas mais altas |
---|---|---|
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 no mailFolder especificado:
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 nas mensagens incorre em uma rodada de uma ou mais chamadas de função delta . Se você usar qualquer parâmetro de consulta (diferente $deltatoken
e $skiptoken
) que seja uma opção de consulta do sistema OData ou a opção de consulta personalizada changeType, você deverá especifique-o 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.
Nas 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 rastreamento 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 | cadeia de caracteres | 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
$select
como 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
,$top
e$expand
para mensagens. - Há suporte limitado para
$filter
e$orderby
:- As únicas expressões
$filter
suportadas são$filter=receivedDateTime+ge+{value}
ou$filter=receivedDateTime+gt+{value}
. - A única expressão
$orderby
suportada é$orderby=receivedDateTime+desc
. Se você não incluir uma expressão$orderby
, a ordem de retorno não será garantida.
- As únicas expressões
- Não há suporte para
$search
.
Cabeçalhos de solicitação
Nome | Tipo | Descrição |
---|---|---|
Autorização | string | {token} de portador. Obrigatório. |
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 acompanhar 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 você concluiu a obtenção de todas as alterações para essa rodada.
A resposta abaixo mostra um skipToken em um cabeçalho de resposta @odata.nextLink.
Observação: o objeto de resposta mostrado 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"
}
}
]
}
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de