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 $select
parâmetros de consulta ,$expand
e $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": {}
}
]
}
Exemplo 3: pedido de ligação Delta
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=latest
de cadeia de consulta .
Nota: Se quiser manter uma representação local completa dos recursos, tem de utilizar
delta
para 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"
}