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.
Obtenha sites recém-criados, atualizados ou excluídos sem precisar realizar uma leitura completa de todo o conjunto de sites.
Uma chamada de função delta para sites é 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 nos sites. Ele permite que você mantenha e sincronize um armazenamento local dos sites de um usuário sem precisar buscar todos os sites do servidor todas as vezes. O aplicativo chama a API sem especificar parâmetros. O serviço começa a enumerar sites e retorna páginas de alterações nesses sites, acompanhadas por um @odata.nextLink ou um @odata.deltaLink. Seu aplicativo deve continuar fazendo chamadas usando o @odata.nextLink até que haja um @odata.deltaLink na resposta.
Depois de receber todas as alterações, você poderá aplicá-las ao seu estado local. Para monitorar alterações futuras, chame a API delta usando o @odata.deltaLink na resposta anterior.
Todos os recursos marcados como excluídos devem ser removidos do estado local.
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) | 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
Na URL da solicitação, você 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 retornará uma resposta vazia com o token delta mais recente. Se o valor for um token delta anterior, a chamada retornará o novo estado desde que o token foi emitido. |
Esse método também dá suporte aos $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 propriedades a seguir.
| Nome | Valor | Descrição |
|---|---|---|
| @odata.nextLink | URL | Uma URL para recuperar a próxima página disponível de alterações, caso haja mais alterações no conjunto atual. |
| @odata.deltaLink | URL | Uma URL retornada em vez de @odata.nextLink depois que todas as alterações atuais forem retornadas. Use esta propriedade para ler o próximo conjunto de alterações no futuro. |
Em alguns casos, o serviço retorna um 410 Gone código de resposta com uma resposta de erro que contém um dos códigos de erro a seguir e um Location cabeçalho que contém uma nova nextLink que inicia uma nova enumeração delta. Ocorre quando o serviço não pode fornecer uma lista de alterações para um determinado token; Por exemplo, se um cliente tentar reutilizar um token antigo depois de ficar desconectado por um longo tempo ou se o estado do servidor for alterado e um novo token for necessário.
Depois que a enumeração completa for concluída, compare os sites retornados com seu estado local e siga as instruções com base no tipo de erro.
| Tipo de erro | Instruções |
|---|---|
| resyncChangesApplyDifferences | Substitua todos os sites locais pelas versões do servidor (incluindo exclusões) se tiver certeza de que o serviço estava atualizado com suas alterações locais quando você sincronizou pela última vez. Carregar alterações locais que o servidor não conhece. |
| resyncChangesUploadDifferences | Carregue todos os sites locais que o serviço não retornou e carregue todos os sites que diferem das versões do servidor. Guarde as duas cópias se não tiver certeza de qual delas está mais atualizada. |
para obter mais informações, consulte Tipos de recursos e respostas de erro do Microsoft Graph.
Exemplos
Exemplo 1: solicitação inicial
O exemplo a seguir mostra a solicitação inicial e como chamar essa API para estabelecer seu estado local.
Solicitação
O exemplo a seguir mostra a solicitação inicial.
GET https://graph.microsoft.com/v1.0/sites/delta
Resposta
O exemplo a seguir mostra a resposta que inclui a primeira página de alterações e a propriedade @odata.nextLink que indica que não há mais sites disponíveis no conjunto atual de sites. Seu aplicativo deve continuar solicitando o valor da URL de @odata.nextLink até que todas as páginas dos sites sejam recuperadas.
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: solicitação de última página
O exemplo a seguir mostra uma solicitação que acessa a última página em um conjunto e como chamar essa API para atualizar seu estado local.
Solicitação
O exemplo a seguir mostra uma solicitação após a solicitação inicial.
GET https://graph.microsoft.com/v1.0/sites/delta?token=1230919asd190410jlka
Resposta
O exemplo a seguir mostra a resposta que indica que o site nomeado All Company foi excluído entre a solicitação inicial e esta solicitação para atualizar o estado local.
A página final de sites inclui a propriedade @odata.deltaLink que fornece a URL que pode ser usada posteriormente para recuperar 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": {}
}
]
}
Exemplo 3: solicitação de link delta
Em alguns cenários, talvez você queira solicitar o valor atual deltaLink sem primeiro enumerar todos os sites, listas e sites. Isso pode ser útil se o seu aplicativo quiser saber apenas sobre alterações e não precisar saber sobre sites existentes.
Para recuperar o mais recente deltaLink, chame delta com o parâmetro ?token=latestde cadeia de caracteres de consulta .
Observação: Se você quiser manter uma representação local completa dos recursos, deverá usar
deltapara a enumeração inicial. Usar odeltaé 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"
}