site : delta
Obtenez des sites nouvellement créés, mis à jour ou supprimés sans avoir à effectuer une lecture complète de l’ensemble de la collection de sites.
Un appel de fonction delta pour des sites est similaire à une requête GET, sauf qu’en appliquant de manière appropriée des jetons d’état dans un ou plusieurs de ces appels, vous pouvez interroger les modifications incrémentielles dans les sites. Il vous permet de gérer et de synchroniser un magasin local des sites d’un utilisateur sans avoir à extraire tous les sites du serveur à chaque fois. L’application appelle l’API sans spécifier de paramètres. Le service commence à énumérer les sites et retourne des pages de modifications apportées à ces sites, accompagnées d’un @odata.nextLink ou d’un @odata.deltaLink. Votre application doit continuer à effectuer des appels à l’aide de @odata.nextLink jusqu’à ce qu’il y ait un @odata.deltaLink dans la réponse.
Après avoir reçu toutes les modifications, vous pouvez les appliquer à votre état local. Pour surveiller les modifications futures, appelez l’API delta à l’aide de la @odata.deltaLink dans la réponse précédente.
Toutes les ressources marquées comme supprimées doivent être supprimées de votre état local.
Cette API est disponible dans les déploiements de cloud national suivants.
Service global | Gouvernement des États-Unis L4 | Us Government L5 (DOD) | Chine gérée par 21Vianet |
---|---|---|---|
✅ | ❌ | ❌ | ❌ |
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.
Type d’autorisation | Autorisations avec privilèges minimum | Autorisations privilégiées plus élevées |
---|---|---|
Déléguée (compte professionnel ou scolaire) | Sites.Read.All | Sites.ReadWrite.All |
Déléguée (compte Microsoft personnel) | Non prise en charge. | Non prise en charge. |
Application | Sites.Read.All | Sites.ReadWrite.All |
Requête HTTP
GET /sites/delta
Paramètres de requête
Dans l’URL de la requête, vous pouvez inclure le paramètre de requête facultatif suivant.
Paramètre | Type | Description |
---|---|---|
jeton | Chaîne | Si la valeur est latest , l’appel retourne une réponse vide avec le dernier jeton delta. Si la valeur est un jeton delta précédent, l’appel retourne le nouvel état depuis que ce jeton a été émis. |
Cette méthode prend également en charge les $select
paramètres de requête OData , $expand
et $top
pour personnaliser la réponse.
En-têtes de demande
En-tête | Valeur |
---|---|
Autorisation | Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation. |
Corps de la demande
N’indiquez pas le corps de la demande pour cette méthode.
Réponse
Si elle réussit, cette méthode renvoie un 200 OK
code de réponse et une collection d’objets site dans le corps de la réponse.
En plus de la collection d’objets de site , la réponse inclut également l’une des propriétés suivantes.
Nom | Valeur | Description |
---|---|---|
@odata.nextLink | URL | URL permettant de récupérer la page de modifications disponible suivante s’il y a d’autres modifications dans l’ensemble actuel. |
@odata.deltaLink | URL | URL retournée au lieu de @odata.nextLink après le retour de toutes les modifications actuelles. Utilisez cette propriété pour lire le jeu de modifications suivant à l’avenir. |
Dans certains cas, le service retourne un 410 Gone
code de réponse avec une réponse d’erreur qui contient l’un des codes d’erreur suivants et un Location
en-tête qui contient un nouveau nextLink
qui démarre une nouvelle énumération delta. Elle se produit lorsque le service ne peut pas fournir la liste des modifications pour un jeton donné ; par exemple, si un client tente de réutiliser un ancien jeton après avoir été déconnecté pendant une longue période, ou si l’état du serveur a changé et qu’un nouveau jeton est requis.
Une fois l’énumération complète terminée, comparez les sites retournés à votre état local et suivez les instructions en fonction du type d’erreur.
Type d’erreur | Instructions |
---|---|
resyncChangesApplyDifferences | Remplacez les sites locaux par les versions du serveur (y compris les suppressions) si vous êtes sûr que le service était à jour avec vos modifications locales lors de la dernière synchronisation. Téléchargez les modifications locales que le serveur ignore. |
resyncChangesUploadDifferences | Chargez tous les sites locaux que le service n’a pas retournés et chargez tous les sites qui diffèrent des versions du serveur. Conservez les deux copies si vous ne savez pas laquelle est la plus à jour. |
Pour plus d’informations, consultez Réponses d’erreur microsoft Graph et types de ressources.
Exemples
Exemple 1 : Demande initiale
L’exemple suivant montre la requête initiale et comment appeler cette API pour établir votre état local.
Demande
L’exemple suivant montre la requête initiale.
GET https://graph.microsoft.com/v1.0/sites/delta
Réponse
L’exemple suivant montre la réponse qui inclut la première page de modifications et la propriété @odata.nextLink qui indique qu’aucun autre site n’est disponible dans l’ensemble de sites actuel. Votre application doit continuer à demander la valeur d’URL de @odata.nextLink jusqu’à ce que toutes les pages de sites soient récupérées.
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"
}
Exemple 2 : Dernière demande de page
L’exemple suivant montre une requête qui accède à la dernière page d’un ensemble et comment appeler cette API pour mettre à jour votre état local.
Demande
L’exemple suivant montre une requête après la demande initiale.
GET https://graph.microsoft.com/v1.0/sites/delta?token=1230919asd190410jlka
Réponse
L’exemple suivant montre la réponse qui indique que le site nommé All Company
a été supprimé entre la demande initiale et cette demande de mise à jour de l’état local.
La dernière page de sites inclut la propriété @odata.deltaLink qui fournit l’URL qui peut être utilisée ultérieurement pour récupérer les modifications depuis l’ensemble de sites actuel.
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": {}
}
]
}
Exemple 3 : demande de liaison Delta
Dans certains scénarios, vous pouvez demander la valeur actuelle deltaLink
sans énumérer au préalable tous les sites, listes et sites web. Cela peut être utile si votre application souhaite uniquement connaître les modifications et n’a pas besoin de connaître les sites existants.
Pour récupérer la dernière version deltaLink
, appelez delta
avec le paramètre ?token=latest
de chaîne de requête .
Note: Si vous souhaitez conserver une représentation locale complète des ressources, vous devez utiliser
delta
pour l’énumération initiale. L’utilisationdelta
est la seule façon de garantir que vous avez lu toutes les données dont vous avez besoin.
Demande
L’exemple suivant illustre une demande.
GET https://graph.microsoft.com/v1.0/sites/delta?token=latest
Réponse
L’exemple suivant illustre la réponse.
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [ ],
"@odata.deltaLink": "https://graph.microsoft.com/v1.0/sites/delta?token=1230919asd190410jlka"
}