Compartilhar via


site: delta

Obtenha sites recentemente criados, atualizados ou eliminados sem ter de efetuar uma leitura completa de toda a coleção de sites.

Uma chamada de função delta para sites é semelhante a um pedido GET, exceto que ao aplicar adequadamente tokens de estado numa ou mais destas chamadas, pode consultar alterações incrementais nos sites. Permite-lhe manter e sincronizar um arquivo local dos sites de um utilizador sem ter de obter todos os sites do servidor sempre. A aplicação chama a API sem especificar parâmetros. O serviço começa a enumerar sites e devolve páginas de alterações a estes sites, acompanhadas por um @odata.nextLink ou um @odata.deltaLink. A sua aplicação deve continuar a fazer chamadas com o @odata.nextLink até que exista um @odata.deltaLink na resposta.

Depois de receber todas as alterações, pode aplicá-las ao seu estado local. Para monitorizar futuras alterações, chame a API delta com o @odata.deltaLink na resposta anterior.

Todos os recursos marcados como eliminados devem ser removidos do seu estado local.

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.

Tipo de permissão Permissões com menos privilégios Permissões com privilégios superiores
Delegado (conta corporativa ou de estudante) Sites.Read.All Sites.ReadWrite.All
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Aplicativo Sites.Read.All Sites.ReadWrite.All

Solicitação HTTP

GET /sites/delta

Parâmetros de consulta

No URL do pedido, pode incluir o seguinte parâmetro de consulta opcional.

Parâmetro Tipo Descrição
token Cadeia de caracteres Se o valor for latest, a chamada devolve uma resposta vazia com o token delta mais recente. Se o valor for um token delta anterior, a chamada devolve o novo estado desde que esse token foi emitido.

Este método também suporta os $selectparâmetros de consulta ,$expande $top OData para personalizar a resposta.

Cabeçalhos de solicitação

Cabeçalho Valor
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.

Corpo da solicitação

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

Resposta

Se bem sucedido, este método retorna um 200 OK código de resposta e uma coleção de objetos de lista no corpo da resposta.

Além da coleção de objetos de site , a resposta também inclui uma das seguintes propriedades.

Nome Valor Descrição
@odata.nextLink URL Um URL para obter a página de alterações seguinte disponível se existirem mais alterações no conjunto atual.
@odata.deltaLink URL Um URL devolvido em vez de @odata.nextLink depois de todas as alterações atuais serem devolvidas. Utilize esta propriedade para ler o próximo conjunto de alterações no futuro.

Em alguns casos, o serviço devolve um 410 Gone código de resposta com uma resposta de erro que contém um dos seguintes códigos de erro e um Location cabeçalho que contém um novo nextLink que inicia uma nova enumeração delta. Ocorre quando o serviço não consegue fornecer uma lista de alterações para um determinado token; por exemplo, se um cliente tentar reutilizar um token antigo depois de ter sido desligado durante muito tempo ou se o estado do servidor tiver sido alterado e for necessário um novo token.

Depois de concluída a enumeração completa, compare os sites devolvidos com o seu estado local e siga as instruções com base no tipo de erro.

Tipo de erro Instruções
resyncChangesApplyDiferenças Substitua quaisquer sites locais pelas versões do servidor (incluindo eliminações) se tiver a certeza de que o serviço estava atualizado com as alterações locais da última vez que sincronizou. Carregar alterações locais que o servidor não conhece.
resyncChangesUploadDiferenças Carregue quaisquer sites locais que o serviço não tenha devolvido e carregue sites diferentes das versões do servidor. Guarde ambas as cópias se não tiver a certeza de qual delas está mais atualizada.

Para obter mais informações, veja Respostas de erro e tipos de recursos do Microsoft Graph.

Exemplos

Exemplo 1: solicitação inicial

O exemplo seguinte mostra o pedido inicial e como chamar esta API para estabelecer o seu estado local.

Solicitação

O exemplo seguinte mostra o pedido inicial.

GET https://graph.microsoft.com/v1.0/sites/delta

Resposta

O exemplo seguinte mostra a resposta que inclui a primeira página de alterações e a propriedade @odata.nextLink que indica que não existem mais sites disponíveis no conjunto atual de sites. A sua aplicação deve continuar a pedir o valor de URL de @odata.nextLink até que todas as páginas dos sites sejam obtidas.

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

{
  "value": [
    {
      "id": "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,712a596e-90a1-49e3-9b48-bfa80bee8740",
      "name": "teamSiteA"
    },
    {
      "id": "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,0271110f-634f-4300-a841-3a8a2e851851",
      "name": "teamSiteB"
    },
    {
      "id": "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,0271110f-634f-4300-a841-3a8a2e851851",
      "name": "teamSiteC"
    }
  ],
  "@odata.nextLink": "https://graph.microsoft.com/v1.0/sites/delta?token=1230919asd190410jlka"
}

Exemplo 2: pedido da última página

O exemplo seguinte mostra um pedido que acede à última página de um conjunto e como chamar esta API para atualizar o seu estado local.

Solicitação

O exemplo seguinte mostra um pedido após o pedido inicial.

GET https://graph.microsoft.com/v1.0/sites/delta?token=1230919asd190410jlka

Resposta

O exemplo seguinte mostra a resposta que indica que o site com o nome All Company foi eliminado entre o pedido inicial e este pedido para atualizar o estado local.

A página final dos sites inclui a propriedade @odata.deltaLink que fornece o URL que pode ser utilizado mais tarde para obter alterações desde o conjunto atual de sites.

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#sites",
    "@odata.deltaLink": "https://graph.microsoft.com/v1.0/sites/delta?$deltatoken=b2vm2fSuZ-V_1Gdq4ublGPD4lReifRNHYMGxkFf0yz2fTqr9U6jMyWv8hihThODJCO_5I7JbpAFLQAIOUzYXhCPl0jlQdjTC1o24iBe81xQyAWJOiP3q1xyMKjlfZUawWok3Njc_LIrrSgrdSydhsVCL6XYpRkYGJ9JDYxFMiJw2vUs1QC_S0cW6hqYQnOimeA918dQZwD8pJI9oUJryV2Ow-7Dj9p18p1I6pFg044k.xipVdgMKlOFIlXzPipsKzlFJbYUTD1sGiFiPe7uZA7Q",
    "value": [
        {
            "createdDateTime": "2024-03-11T02:36:04Z",
            "name": "All Company",
            "displayName": "All Company",
            "isPersonalSite": false,
            "id": "bd565af7-7963-4658-9a77-26e11ac73186",
            "root": {}
        }
    ]
}

Em alguns cenários, poderá querer pedir o valor atual deltaLink sem enumerar primeiro todos os sites, listas e Webs. Pode ser útil se a sua aplicação apenas quiser saber sobre as alterações e não precisar de saber mais sobre os sites existentes. Para obter o mais recente deltaLink, chame delta com o parâmetro ?token=latestde cadeia de consulta .

Nota: Se quiser manter uma representação local completa dos recursos, tem de utilizar delta para a enumeração inicial. Usar o delta é a única maneira de garantir que você leu todos os dados de que precisa.

Solicitação

O exemplo a seguir mostra uma solicitação.

GET https://graph.microsoft.com/v1.0/sites/delta?token=latest

Resposta

O exemplo a seguir mostra a resposta.

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

{
  "value": [ ],
  "@odata.deltaLink": "https://graph.microsoft.com/v1.0/sites/delta?token=1230919asd190410jlka"
}

Confira também