Pagination des données Microsoft Graph dans votre application
Certaines requêtes par rapport à Microsoft Graph retournent plusieurs pages de données en raison de la pagination côté serveur ou en raison de l’utilisation du paramètre de requête $top
pour limiter spécifiquement la taille de page dans une requête. Lorsque plusieurs demandes de requête sont nécessaires pour récupérer tous les résultats, Microsoft Graph retourne une propriété @odata.nextLink
dans la réponse qui contient une URL vers la page de résultats suivante.
Par exemple, l’URL suivante demande de renvoyer tous les utilisateurs d’une organisation avec une taille de page définie sur 5 à l’aide du paramètre de requête $top
:
https://graph.microsoft.com/v1.0/users?$top=5
Si le résultat contient plus de cinq utilisateurs, Microsoft Graph renverra une propriété @odata.nextLink
semblable à ce qui suit, ainsi que la première page d’utilisateurs :
"@odata.nextLink": "https://graph.microsoft.com/v1.0/users?$top=5&$skiptoken=X%274453707 ... 6633B900000000000000000000%27"
Vous pouvez récupérer la page de résultats suivante en envoyant la valeur d’URL de la propriété @odata.nextLink
à Microsoft Graph.
https://graph.microsoft.com/v1.0/users?$top=5&$skiptoken=X%274453707 ... 6633B900000000000000000000%27
Microsoft Graph continuera à retourner une référence à la page suivante des résultats dans la propriété @odata.nextLink
avec chaque réponse jusqu’à ce que toutes les pages des résultats aient été lues. Pour lire tous les résultats, vous devez continuer à toutes les Microsoft Graph avec la propriété @odata.nextLink
retournée dans chaque réponse jusqu’à ce que la propriété @odata.nextLink
ne soit plus retournée.
Important : vous devez inclure l’URL complète dans la propriété
@odata.nextLink
de votre demande pour la page de résultats suivante. En fonction de l’API utilisée pour l’exécution de la requête, la valeur d’URL@odata.nextLink
contient le paramètre de requête$skiptoken
ou$skip
. L’URL contient également tous les autres paramètres de requête présents dans la demande d’origine. N’essayez pas d’extraire la valeur$skiptoken
ou$skip
, ou de l’utiliser dans une autre demande.
Le comportement de pagination varie en fonction des différentes API Microsoft Graph. Lorsque vous utilisez des données paginées, prenez en compte les éléments suivants :
- Une page de résultats peut contenir zéro ou plusieurs résultats.
- Des API différentes peuvent avoir des tailles de page par défaut et maximale différentes.
- Des API différentes peuvent se comporter différemment si vous spécifiez une taille de page (via le paramètre de requête
$top
) qui dépasse la taille de page maximale pour cette API. En fonction de l’API, la taille de page demandée peut être ignorée, peut revenir à la taille de page maximale par défaut pour cette API ou Microsoft Graph peut renvoyer une erreur. - Les ressources ou les relations ne prennent pas toutes en charge la pagination. Par exemple, les requêtes relatives à directoryRoles ne prennent pas en charge la pagination. Cela inclut la lecture d’objets de rôle eux-mêmes, ainsi que de membres de rôle.
- Lors de la pagination sur des ressources du répertoire, les en-têtes de requête supplémentaires tels que l’en-tête ConsistencyLevel ne sont pas inclus par défaut dans les requêtes de page suivantes. Si ces en-têtes doivent être envoyés sur les requêtes suivantes, vous devez les définir de manière explicite.
- Lors de l’utilisation de la chaîne de requête
$count=true
pendant l’exécution d’une requête sur les ressources du répertoire, la propriété@odata.count
est uniquement présente sur la première page des données paginées.
En savoir plus sur la pagination
La vidéo suivante vous présente la pagination dans Microsoft Graph.
Commentaires
Envoyer et afficher des commentaires pour