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 de mensagens em uma pasta é semelhante a uma solicitação GET, exceto que, aplicando adequadamente os tokens de estado em uma ou mais dessas chamadas, permite consultar alterações incrementais nas mensagens dessa pasta. Isso permite manter e sincronizar um armazenamento local de mensagens do usuário sem ter de buscar todo o conjunto de mensagens do usuário sempre que precisar dele.

Permissões

Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
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

GET /me/mailFolders/{id}/messages/delta
GET /users/{id}/mailFolders/{id}/messages/delta

Parâmetros de consulta

O controle de alterações em mensagens corresponde a uma série de uma ou mais chamadas de função delta. Se você usar qualquer parâmetro de consulta (diferente de $deltatoken e $skiptoken), especifique-o na primeira solicitação delta. O Microsoft Graph codifica automaticamente todos os parâmetros especificados na porção do token da URL @odata.nextLink ou @odata.deltaLink fornecida na resposta. Você só precisa especificar os parâmetros de consulta desejados uma vez antecipados. Em solicitações subsequentes, basta copiar e aplicar a URL @odata.nextLink ou @odata.deltaLink da resposta anterior já que essa URL inclui os parâmetros codificados desejados.

Parâmetro de consulta Tipo Descrição
$deltatoken cadeia de caracteres Um token de estado retornado na URL @odata.deltaLink da chamada de função delta anterior da mesma coleção de mensagens indicando a conclusão da série 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 da coleção.
$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.

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.
  • 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 controlar alterações nas mensagens em uma pasta, faça uma ou mais chamadas de função delta para obter o conjunto de alterações incrementais desde a última consulta delta. Veja um exemplo que mostra uma série de chamadas de consulta delta em Obter alterações incrementais para mensagens em uma pasta.

GET https://graph.microsoft.com/v1.0/me/mailFolders/{id}/messages/delta
Prefer: odata.maxpagesize=2
Resposta

Se a solicitação for bem-sucedida, a resposta incluiria 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, elas indicam se você deverá continuar com a série ou se já concluiu a obtenção de todas as alterações dessa série.

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"
      }
    }
  ]
}

Confira também