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 $selectparamètres de requête OData , $expandet $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 OKcode 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": {}
        }
    ]
}

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=latestde 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’utilisation delta 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"
}

Voir aussi