Meilleures pratiques d’utilisation de l’API OneNote dans Microsoft Graph
Cet article fournit des recommandations pour utiliser les API OneNote dans Microsoft Graph. Ces recommandations sont basées sur les réponses aux questions courantes sur Microsoft Q&A et Twitter.
Utiliser $select pour sélectionner l’ensemble minimal de propriétés dont vous avez besoin
Lorsque vous exécutez une requête pour une ressource (par exemple, des sections à l’intérieur d’un bloc-notes), vous faites une requête semblable à celle qui se trouve ci-dessous.
GET ~/notebooks/{id}/sections
Elle récupère toutes les propriétés des sections. Cependant, vous n’avez pas forcément besoin de toutes les propriétés. Vous pouvez utiliser le paramètre de requête $select
pour renvoyer uniquement les propriétés de votre choix, comme illustré dans l’exemple suivant.
GET ~/notebooks/{id}/sections?$select=id,displayName
La même approche s’applique aux autres API OneNote.
Utiliser $expand au lieu d’effectuer plusieurs appels d’API
Supposons que vous souhaitiez récupérer l’ensemble des blocs-notes, sections et groupes de sections d’un utilisateur dans une vue hiérarchique. Vous pouvez procéder ainsi :
Appelez
GET ~/notebooks
pour obtenir la liste de blocs-notes.Pour chaque bloc-notes récupéré, appelez
GET ~/notebooks/{notebookId}/sections
pour récupérer la liste des sections.Pour chaque bloc-notes récupéré, appelez
GET ~/notebooks/{notebookId}/sectionGroups
pour récupérer la liste des groupes de sections.Vous pouvez éventuellement parcourir de manière récursive les groupes de sections.
Bien que cette méthode fonctionne (avec quelques allers-retours réguliers supplémentaires vers le service), il existe une meilleure approche, qui consiste à utiliser le paramètre de requête $expand
.
GET ~/notebooks?$expand=sections,sectionGroups($expand=sections)
Cela produit les mêmes résultats en un aller-retour réseau, avec de meilleures performances.
Après avoir obtenu toutes les pages pour un utilisateur, répéter l’opération pour chaque section séparément
Même si Microsoft Graph fournit un point de terminaison pour récupérer toutes les pages, il existe un meilleur moyen d’obtenir toutes les pages auxquelles l’utilisateur a accès. Lorsque l’utilisateur a trop de sections, il peut rencontrer des délais d’expiration ou des mauvaises performances. Il est préférable de parcourir chaque section, et d’obtenir les pages pour chacune d’entre elles séparément.
Par exemple, au lieu d’utiliser cet appel (cette API est appelée, vous ne pourrez donc pas récupérer toutes les pages à la fois) :
GET ~/pages
Il est préférable d’utiliser l’appel suivant plusieurs fois (en particulier si vous n’avez pas besoin de toutes les sections) :
GET ~/sections/{id}/pages
Lorsque vous obtenez les métadonnées de la page, remplacez le classement lastModifiedDateTime
par défaut. Il est plus facile d’obtenir les pages lorsque vous n’avez pas besoin de les trier par lastModifiedDateTime
. Pour ce faire, vous pouvez les trier par n’importe quelle autre propriété. Par exemple :
GET ~/sections/{id}/pages?$select=id,title,createdDateTime&$orderby=createdDateTime
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour