Calendário: Delta

Namespace: microsoft.graph

Receba um conjunto de recursos de calendário adicionados, atualizados ou excluídos na caixa de correio de um usuário.

Normalmente, a sincronização de calendários em uma caixa de correio em um repositório local envolve uma rodada de várias chamadas de função delta . A chamada inicial é uma sincronização completa, e cada chamada delta subsequente na mesma rodada recebe as alterações incrementais (acréscimos, exclusões ou atualizações). O uso de deltas permite que você mantenha e sincronize incrementalmente um repositório local de calendários na caixa de correio especificada.

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) Calendars.Read Calendars.ReadBasic, Calendars.ReadWrite
Delegado (conta pessoal da Microsoft) Calendars.Read Calendars.ReadBasic, Calendars.ReadWrite
Aplicativo Calendars.Read Calendars.ReadBasic, Calendars.ReadWrite

Solicitação HTTP

Para começar a acompanhar as alterações, faça uma solicitação que inclua a função delta no recurso de calendário.

Para alterações incrementais na lista de calendário na caixa de correio do usuário.

GET /me/calendars/delta
GET /users/{usersId}/calendars/delta

Parâmetros de consulta

O acompanhamento de alterações incorre em uma rodada 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 parte do token da URL @odata.nextLink ou @odata.deltaLink fornecida na resposta.

Especifique os parâmetros de consulta desejados apenas na solicitação inicial.

Em solicitações subsequentes, use a URL @odata.nextLink ou @odata.deltaLink da resposta anterior. A URL já inclui os parâmetros de consulta codificados.

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 para a mesma lista de calendário que indica 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 rodada de controle de alterações para essa lista de calendário.
$skiptoken string Um token de estado retornado na URL @odata.nextLink da chamada de função delta anterior que indica que outras alterações precisam ser acompanhadas na mesma lista de calendário.

Parâmetros de consulta opcionais

Esse método dá suporte a parâmetros de consulta OData opcionais para ajudar a personalizar a resposta.

  • Você pode usar um parâmetro de $select consulta como em qualquer solicitação GET para especificar apenas as propriedades necessárias para obter um melhor desempenho.
  • A função delta não dá suporte aos seguintes parâmetros de consulta: $expand, $filter, $orderbye $search.

Cabeçalhos de solicitação

Nome Tipo Descrição
Autorização string 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.

Corpo da solicitação

Não forneça um corpo de solicitação para esse método.

Resposta

Se for bem-sucedida, essa função retornará um 200 OK código de resposta e uma coleção de objetos de calendário no corpo da resposta.

Exemplos

Solicitação

O exemplo a seguir mostra uma solicitação sem o $select parâmetro; um conjunto padrão de propriedades é rastreado e retornado.

GET https://graph.microsoft.com/v1.0/me/calendars/delta

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 terminou de receber todas as alterações para essa rodada.

A resposta a seguir mostra um $deltaToken em um cabeçalho de resposta @odata.deltaLink .

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(calendar)",
    "value": [
        {
            "@odata.type": "#microsoft.graph.calendar",
            "id": "AQMkADRhZThkMDVjLTJmNDctNDUyZC05YjA2LTI2YzRmMTIxOWJhZQBGAAADVDIMnvGkNkGo5_ASLe7iUQcAvXegGcyc-0O1dA1ftrtB6QAAAgEGAAAAvXegGcyc-0O1dA1ftrtB6QAAAUSwewAAAA==",
            "name": "Calendar",
            "color": "auto",
            "hexColor": "",
            "groupClassId": "0006f0b7-0000-0000-c000-000000000046",
            "isDefaultCalendar": true,
            "changeKey": "vXegGcyc/0O1dA1ftrtB6QAAAEO+6Q==",
            "canShare": true,
            "canViewPrivateItems": true,
            "isShared": false,
            "isSharedWithMe": false,
            "canEdit": true,
            "calendarGroupId": null,
            "allowedOnlineMeetingProviders": [
                "teamsForBusiness"
            ],
            "defaultOnlineMeetingProvider": "teamsForBusiness",
            "isTallyingResponses": true,
            "isRemovable": false,
            "owner": {
                "name": "Samantha Booth",
                "address": "samanthab@contoso.com"
            }
        },
        {
            "@odata.type": "#microsoft.graph.calendar",
            "id": "AQMkADRhZThkMDVjLTJmNDctNDUyZC05YjA2LTI2YzRmMTIxOWJhZQBGAAADVDIMnvGkNkGo5_ASLe7iUQcAvXegGcyc-0O1dA1ftrtB6QAAAgEGAAAAvXegGcyc-0O1dA1ftrtB6QAAAU4pOwAAAA==",
            "name": "Birthdays",
            "color": "auto",
            "hexColor": "",
            "groupClassId": "0006f0b7-0000-0000-c000-000000000046",
            "isDefaultCalendar": false,
            "changeKey": "vXegGcyc/0O1dA1ftrtB6QAAAEzvog==",
            "canShare": false,
            "canViewPrivateItems": true,
            "isShared": false,
            "isSharedWithMe": false,
            "canEdit": false,
            "calendarGroupId": null,
            "allowedOnlineMeetingProviders": [],
            "defaultOnlineMeetingProvider": "unknown",
            "isTallyingResponses": false,
            "isRemovable": true,
            "owner": {
                "name": "Samantha Booth",
                "address": "samanthab@contoso.com"
            }
        }
    ],
    "@odata.deltaLink": "https://graph.microsoft.com/v1.0/me/calendars/delta?$deltatoken=LztZwWjo5IivWBhyxw5rAIPrk_3pGHcZr4U33FHo0HpyBLqdo9QZIWfEL4AW1jMLBmo-o1ybmYCWlzQ5elO2bEDejh9Z8kYv_z4nhmHoC5Y.7Wdj3MWiils6M--JMM9dMyiLCh-1he4AZCqBu-8i42o"
}