Table of contents
TOC
Réduire la table des matières
Développer la table des matières
Dernière mise à jour: 25/07/2018

Obtenez la structure et le contenu OneNote avec l’API OneNote

S’applique à : blocs-notes consommateur sur OneDrive | Blocs-notes d’entreprise sur Office 365

Pour obtenir le contenu et la structure OneNote, envoyez une demande GET au point de terminaison cible. Par exemple :

GET ../notes/pages/{id}

Si la demande aboutit, l’API OneNote renvoie un code d’état HTTP 200 et les entités ou le contenu que vous avez demandés. Les entités OneNote sont renvoyées en tant qu’objets JSON conformes à la spécification OData version 4.0.

En utilisant les options de chaîne de demande, vous pouvez filtrer vos demandes et améliorer les performances.

Construire l’URI de la requête

Pour construire l’URI de demande, commencez par l’URL racine du service :

Blocs-notes sur OneDrive
https://www.onenote.com/api/v1.0/me/notes/

Blocs-notes sur OneDrive Entreprise
https://www.onenote.com/api/v1.0/me/notes/
https://www.onenote.com/api/v1.0/users/{id}/notes/

Blocs-notes de site SharePoint
https://www.onenote.com/api/v1.0/myOrganization/siteCollections/{id}/sites/{id}/notes/

Blocs-notes de groupe unifiés
https://www.onenote.com/api/v1.0/myOrganization/groups/{id}/notes/


Ajoutez ensuite le point de terminaison de la ressource que vous souhaitez récupérer. (Les Chemins de ressources sont affichés dans la section suivante.)


Votre URI complet de demande ressemblera à l’un de ceux-ci :

https://www.onenote.com/api/v1.0/me/notes/notebooks/{id}/sections

https://www.onenote.com/api/v1.0/myOrganization/siteCollections/{id}/sites/{id}/notes/pages

https://www.onenote.com/api/v1.0/myOrganization/groups/{id}/notes/pages?select=title,self

En savoir plus sur l’URL racine du service.

Chemins d’accès aux ressources pour les requêtes GET

Utilisez les chemins de ressources suivants pour obtenir des pages, des sections, des groupes de sections, des blocs-notes et des ressources d’image ou de fichier.

Collection de pages  |  Entité de page  |  Aperçu de la page  |  Contenu HTML de la page  |   Collection de sections  |  Entité de section  |  Collection de groupes de sections  |   Entité de groupe de sections  |  Collection de blocs-notes  |  Entité de bloc-notes  |   Ressource image ou autre fichier

Collection de pages

Obtenir des pages (métadonnées) parmi tous les blocs-notes

../pages[?filter,orderby,select,expand,top,skip,search,count]

Obtenir des pages (métadonnées) à partir d’une section spécifique

../sections/{section-id}/pages[?filter,orderby,select,expand,top,skip,search,count,pagelevel]


L’option de chaine de requête search est disponible uniquement pour les blocs-notes grand public.

L’ordre de tri par défaut pour les pages est lastModifiedTime desc.

La requête par défaut développe la section parent et sélectionne les propriétés de section id, name, et self.

Par défaut, seules les 20 premières entrées sont retournées pour les demandes GET pages. Les requêtes qui ne spécifient pas une option de chaîne de requête top renvoient un lien @odata.nextLink dans la réponse que vous pouvez utiliser pour obtenir les 20 entrées suivantes.

Pour la collection de pages dans une section, utilisez l’option pagelevel pour renvoyer le niveau d’indentation des pages et leur ordre dans la section. Exemple : GET ../sections/{section-id}/pages?pagelevel=true.


Entité de page

Obtenez les métadonnées pour une page spécifique.

../pages/{page-id}[?select,expand,pagelevel]


Les pages peuvent développer les propriétés ParentNotebook et parentSection.

La requête par défaut développe la section parent et sélectionne les propriétés de section id, name, et self.

Utilisez l’option pagelevel pour renvoyer le niveau d’indentation de la page et son ordre dans sa section parente. Exemple : GET ../pages/{page-id}?pagelevel=true.


Aperçu de la page

Obtenir un aperçu du contenu texte image d’une page spécifique

../pages/{page-id}/preview


La réponse JSON contient l’aperçu du contenu que vous pouvez utiliser pour aider les utilisateurs à identifier ce qui se trouve sur la page.

{
  "@odata.context":"https://www.onenote.com/api/v1.0/$metadata#Microsoft.OneNote.Api.PagePreview",
  "previewText":"text-snippet",
  "links":{
    "previewImageUrl":{
      "href":"https://www.onenote.com/api/v1.0/resources/{id}/content?publicAuth=true&mimeType=image/png"
    }
  }
}

La propriété previewText contient un extrait du texte de la page. L’API OneNote renvoie des phrases complètes, jusqu’à un maximum de 300 caractères.

Si la page contient une image qui peut être utilisée pour créer un aperçu de l’interface, la propriété href de l’objet previewImageUrl contient un lien vers une ressource image publique et pré-authentifiée. Vous pouvez utiliser ce lien en HTML, par exemple : <img src="https://www.onenote.com/api/v1.0/resources/{id}/content?publicAuth=true&mimeType=image/png" />. Sinon, href renvoie null.


Contenu HTML de la page

Obtenir le contenu HTML d’une page spécifique

../pages/{page-id}/content[?includeIDs,preAuthenticated]
      (en savoir plus sur le contenu HTML renvoyé)


Utilisez l’option de chaine de requête includeIDs=true pour obtenir les ID générés utilisés pour mettre à jour la page.

Utilisez l’option de chaine de requête preAuthenticated=true pour obtenir les URL publiques des ressources images qui se trouvent sur la page. Les URL publiques sont valides pendant une heure.


Collection de sections

Obtenir toutes les sections de tous les blocs-notes appartenant à l’utilisateur, y compris les sections des groupes de sections imbriquées

../sections[?filter,orderby,select,top,skip,expand,count]

Obtenir toutes les sections directement sous un groupe de sections spécifique

../sectionGroups/{sectiongroup-id}/sections[?filter,orderby,select,top,skip,expand,count]

Obtenir toutes les sections directement sous un bloc-notes spécifique

../notebooks/{notebook-id}/sections[?filter,orderby,select,top,skip,expand,count]


Les sections peuvent développer les propriétés parentNotebook et parentSectionGroup.

L’ordre de tri par défaut pour les sections est name asc.

La requête par défaut développe le bloc-notes parent et le groupe de sections parents et sélectionne leur propriétés id, name, et self.


Entité de section

Obtenir une section spécifique

../sections/{section-id}[?select,expand]


Les sections peuvent développer les propriétés parentNotebook et parentSectionGroup.

La requête par défaut développe le bloc-notes parent et le groupe de sections parents et sélectionne leur propriétés id, name, et self.


Collection de groupes de sections

Obtenir tous les groupes de sections de tous les blocs-notes appartenant à l’utilisateur, y compris les groupes de sections imbriquées

../sectionGroups[?filter,orderby,select,top,skip,expand,count]

Obtenir tous les groupes de sections directement sous un bloc-notes spécifique

../notebooks/{notebook-id}/sectionGroups[?filter,orderby,select,top,skip,expand,count]


Les groupes de sections peuvent développer les propriétés sections, sectionGroups, parentNotebook, et parentSectionGroup.

L’ordre de tri par défaut pour les groupes de sections est name asc.

La requête par défaut développe le bloc-notes parent et le groupe de sections parents et sélectionne leur propriétés id, name, et self.


Entité SectionGroup

Obtenir un groupe de sections spécifique

../sectionGroups/{sectiongroup-id}[?select,expand]


Les groupes de sections peuvent développer les propriétés sections, sectionGroups, parentNotebook, et parentSectionGroup.

La requête par défaut développe le bloc-notes parent et le groupe de sections parents et sélectionne leur propriétés id, name, et self.


Collection de blocs-notes

Obtenir tous les blocs-notes appartenant à l’utilisateur

../notebooks[?filter,orderby,select,top,skip,expand,count]


Les blocs-notes peuvent développer les propriétés sections et sectionGroups.

L’ordre de tri par défaut pour les bloc-notes est name asc.

Vous pouvez utiliser le point de terminaison classNotebooks pour obtenir des blocs-notes de classe.


Entité Notebook

Obtenir un bloc-notes spécifique

../notebooks/{notebook-id}[?select,expand]


Les blocs-notes peuvent développer les propriétés sections et sectionGroups.

Vous pouvez utiliser le point de terminaison classNotebooks pour obtenir un bloc-notes de classe.


Image ou autre ressource de fichier

Obtenir les données binaires d’une ressource spécifique

../resources/{resource-id}/$value


Vous pouvez trouver l’URI de ressource du fichier dans l’HTML de sortie de la page.

Par exemple, une balise img inclut des points de terminaison pour l’image d’origine dans l’attribut data-fullres-src et l’image optimisée dans l’attribut src. Exemple :

<img 
    src="https://www.onenote.com/api/v1.0/me/notes/resources/{image-id}/$value"  
    data-src-type="image/png"
    data-fullres-src="https://www.onenote.com/api/v1.0/resources/{image-id}/$value"  
    data-fullres-src-type="image/png" ... />

Et une balise objet inclut le point de terminaison de la ressource de fichier dans l’attribut data. Exemple :

<object
    data="http://www.onenote.com/api/v1.0/me/notes/resources/{file-id}/$value"
    data-attachment="fileName.pdf" 
    type="application/pdf" ... />

Pour envoyer les URL publiques et pré-authentifiées vers les ressources d’image sur une page, incluez l’élément preAuthenticated=true dans la chaîne de requête lorsque vous récupérez le contenu de la page (exemple : GET ../pages/{page-id}/content?preAuthenticated=true). Les URL publiques renvoyées dans le code HTML de sortie sont valides pendant une heure. Sans cet indicateur, les images extraites ne s’afficheront pas directement dans un navigateur, car, à l’instar du reste du contenu de la page, elles sont privées et une autorisation est requise pour pouvoir les récupérer.

Obtenir une collection de ressources n’est pas supporté.

Lorsque vous obtenez une ressource de fichier, vous n’avez pas besoin d’inclure un type de contenu Accept dans la demande.

Pour plus d’informations sur les demandes GET, consultez GET Pages, GET Sections, GET SectionGroups, et GET Notebooks dans la référence REST interactive de l’API OneNote.

Exemple de requêtes GET

Vous pouvez interroger les entités OneNote et rechercher le contenu de la page pour obtenir uniquement les informations dont vous avez besoin. Les exemples suivants illustrent quelques-unes des façons d’utiliser les options de chaîne de requêtes prises en charge dans les demandes GET pour OneNote API.

Rappels :

  • Toutes les requêtes GET commencent par l'URL racine du service.
      Exemples : https://www.onenote.com/api/v1.0/me/notes
                      https://www.onenote.com/api/v1.0/myOrganization/siteCollections/{id}/sites/{id}/notes/

  • Les espaces dans la chaîne de requête d’URL doivent utiliser le codage %20.
      Exemple : filter=title%20eq%20'biology'

  • Les noms de propriétés et les comparaisons de chaîne OData respectent la casse. Nous vous recommandons d’utiliser la fonction tolower OData pour les comparaisons de chaînes.
      Exemple : filter=tolower(name) eq 'spring'

Recherchez et filtrez

Obtenez toutes les pages contenant le terme recipe qui ont été créées par une application spécifique. (search est disponible uniquement pour les blocs-notes grand public.)

[GET] ../pages?search=recipe&filter=createdByAppId eq 'WLID-000000004C12821A'

Recherchez et filtrez

Obtenez le titre, les liens du client OneNote et le lien contentUrl pour toutes les pages contenant le terme golgi app. (search est disponible uniquement pour les blocs-notes grand public.)

[GET] ../pages?search=golgi app&select=title,links,contentUrl

développez

Obtenez tous les blocs-notes, puis développez les sections et les groupes de sections.

[GET] ../notebooks?expand=sections,sectionGroups

Obtenir un groupe de sections spécifique, puis développer les sections et les groupes de sections.

[GET] ../sectionGroups/{sectiongroup-id}?expand=sections,sectionGroups

Obtenez une page, puis développez sa section parent et son bloc-notes parent.

[GET] ../pages/{page-id}?expand=parentSection,parentNotebook

expand (plusieurs niveaux)

Obtenez tous les blocs-notes et développez leurs sections et groupes de sections, puis développez toutes les sections dans chaque groupe de sections.

[GET] ../notebooks?expand=sections,sectionGroups(expand=sections)

Le développement des parents d’entités enfant ou le développement d’enfants d’entités parent crée une référence circulaire et n’est pas pris en charge.

expand & select (plusieurs niveaux)

Obtenez le nom et le lien self d’un groupe de sections spécifique, puis obtenez le nom et les liens self de toutes ses sections.

[GET] ../sectionGroups/{sectiongroup-id}?expand=sections(select=name,self)&select=name,self

Obtenez le nom et le lien self de toutes les sections, puis obtenez le nom et l’heure de création du bloc-notes parent de chaque section.

[GET] ../sections?expand=parentNotebook(select=name,createdTime)&select=name,self

Obtenez le titre et l’ID de toutes les pages ; obtenez le nom de la section parent et du bloc-notes parent.

[GET] ../pages?select=id,title&expand=parentSection(select=name),parentNotebook(select=name)

expand & levels (plusieurs niveaux)

Obtenez tous les blocs-notes, sections et groupes de sections.

[GET] ../notebooks?expand=sections,sectionGroups(expand=sections,sectionGroups(levels=max;expand=sections))

filtrez

Obtenez toutes les sections créées en octobre 2014.

[GET] ../sections?filter=createdTime ge 2014-10-01 and createdTime le 2014-10-31

Obtenez les pages créées par une application spécifique depuis le 1er janvier 2015.

[GET] ../pages?filter=createdByAppId eq 'WLID-0000000048118631' and createdTime ge 2015-01-01

filtrez et développez

Obtenir toutes les pages dans un bloc-notes spécifique. L’API renvoie 20 entrées par défaut.

[GET] ../pages?filter=parentNotebook/id eq '{notebook-id}'&expand=parentNotebook

Obtenez le nom et le lien pagesUrl de toutes les sections dans le bloc-notes School. Les comparaisons de chaînes OData sont sensibles à la casse, par conséquent, il est recommandé d’utiliser la fonction tolower.

[GET] ../notebooks?filter=tolower(name) eq 'school'&expand=sections(select=name,pagesUrl)

filtrez et selectionnez, et triez par

Obtenez le nom et le lien pagesUrl de toutes les sections dont le nom contient le terme spring. Trier par date de dernière modification.

[GET] ../sections?filter=contains(tolower(name),'spring')&select=name,pagesUrl&orderby=lastModifiedTime desc

orderby

Obtenez les 20 premières pages classées selon la propriété createdByAppId et par date de création la plus récente. L’API renvoie 20 entrées par défaut.

[GET] ../pages?orderby=createdByAppId,createdTime desc

recherchez, filtrez et top

Obtenez les cinq dernières pages créées depuis le 1er janvier 2015 contenant l’expression cell division. L’API renvoie 20 entrées par défaut avec un maximum de 100. L’ordre de tri par défaut pour les pages est lastModifiedTime desc. (search est disponible uniquement pour les blocs-notes grand public.)

[GET] ../pages?search="cell division"&filter=createdTime ge 2015-01-01&top=5

recherchez, filtrez, top, sautez

Obtenez les cinq pages suivantes dans le jeu de résultats. (search est disponible uniquement pour les blocs-notes grand public.)

[GET] ../pages?search=biology&filter=createdTime ge 2015-01-01&top=5&skip=5

Et les cinq suivantes. (search est disponible uniquement pour les blocs-notes grand public.)

[GET] ../pages?search=biology&filter=createdTime ge 2015-01-01&top=5&skip=10

Si recherchez et filtrez sont appliqués à la même requête, les résultats incluent seulement les entités satisfaisant aux deux critères.

sélectionnez

Obtenez le nom, l’heure de création et le lien self de toutes les sections dans les blocs-notes de l’utilisateur.

[GET] ../sections?select=name,createdTime,self

Obtenez le titre, l’heure de création et les liens de client OneNote pour une page spécifique.

[GET] ../pages/{page-id}?select=title,createdTime,links

select & expand & filter (plusieurs niveaux)

Obtenez le nom et le lien pagesUrl de toutes les sections dans le bloc-notes par défaut de l’utilisateur.

[GET] ../notebooks?select=name&expand=sections(select=name,pagesUrl)&filter=isDefault eq true

haut, sélectionnez et triez par

Obtenez le titre et le lien self pour les 50 premières pages, classées par titre, par ordre alphabétique. L’API renvoie 20 entrées par défaut avec un maximum de 100. L’ordre de tri par défaut pour les pages est lastModifiedTime desc.

[GET] ../pages?top=50&select=title,self&orderby=title

sautez, haut, sélectionnez et triez par

Obtenez les pages 51 à 100. L’API renvoie 20 entrées par défaut avec un maximum de 100.

[GET] ../pages?skip=50&top=50&select=title,self&orderby=title

Les demandes GET de pages qui récupèrent le nombre d’entrées par défaut (c’est-à-dire, qui ne spécifient pas l’expression haut) renvoient un lien @odata.nextLink dans la réponse que vous pouvez utiliser pour obtenir les 20 entrées suivantes.

Options de chaîne de requête OData prises en charge

Lors de l’envoi de demandes GET à OneNote API, vous pouvez utiliser des options de chaîne de requête OData pour personnaliser votre requête et obtenir seulement les informations dont vous avez besoin. Elles peuvent également améliorer les performances en réduisant le nombre d’appels au service et la taille de la charge utile de la réponse.

Pour favoriser la lisibilité, les exemples de cet article ne contiennent pas l’encodage de pourcentage %20 requis pour les Blog Spaces dans la chaîne de requête de l’URL : filter=isDefault%20eq%20true

Option de requêteExemple et description
count

count=true

Décompte des entités de la collection. La valeur est renvoyée dans la propriété @odata.count de la réponse.

développez

expand=sections,sectionGroups

Les propriétés de navigation à renvoyer incorporées dans la réponse. Les propriétés suivantes sont prises en charge pour les expressions expand :
- Pages : parentNotebook, parentSection
- Sections : parentNotebook, parentSectionGroup
- Groupes de sections : sections, sectionGroups, parentNotebook, parentSectionGroup
- Blocs-notes : sections, sectionGroups

Par défaut, les requêtes GET de pages développent parentSection et sélectionnent les propriétés id, name et self de la section. Les requêtes GET par défaut pour les sections et groupes de sections développent à la fois parentNotebook et parentSectionGroup, puis sélectionnent les propriétés id, name et self des parents.

Utilisable pour une seule entité ou collection. Séparez les propriétés par des virgules. Les noms de propriétés respectent la casse.

filtrez

filter=isDefault eq true

Expression booléenne indiquant d’inclure ou non une entrée dans le jeu de résultats. Prend en charge les fonctions et opérateurs OData suivants :
- Opérateurs de comparaison : eq, ne, gt, ge, lt, le
- Opérateurs logiques : and, or, not
- Fonctions de chaîne : contains, endswith, startswith, length, indexof, substring, tolower, toupper, trim, concat

Les noms de propriétés et les comparaisons de chaîne OData respectent la casse. Nous vous recommandons d’utiliser la fonction tolower OData pour les comparaisons de chaînes. Exemple : filter=tolower(name) eq 'spring'

orderby

orderby=title,createdTime desc

Propriétés régissant l’ordre de tri, avec un ordre de tri facultatif asc (défaut) ou desc. Vous pouvez trier selon n’importe quelle propriété de l’entité dans la collection demandée.

L’ordre de tri par défaut pour les blocs-notes, les groupes de sections et les sections est name asc. Pour les pages, il s’agit de lastModifiedTime desc (en partant de la dernière page modifiée).

Séparez les propriétés par des virgules et indiquez-les dans l’ordre dans lequel vous souhaitez les appliquer. Les noms de propriétés respectent la casse.

recherche

search=cell div

Disponible uniquement pour les blocs-notes grand public.

Terme ou expression à rechercher dans le titre de la page, le corps de la page, le texte de remplacement de l’image et le texte de reconnaissance optique de caractères de l’image. Par défaut, les requêtes de recherche renvoient des résultats triés par pertinence.

OneNote utilise la recherche en texte intégral Bing pour la prise en charge de la recherche d’une phrase, la recherche de radical, la tolérance orthographique, la pertinence et le classement, les césures, les langues multiples et d’autres fonctionnalités de recherche en texte intégral. Les chaînes de recherche ne tiennent pas compte de la casse.

S’applique uniquement aux pages des blocs-notes appartenant à l’utilisateur (et pas ceux partagées avec l’utilisateur). Le contenu indexé est privé et ne peut être consulté que par le propriétaire. Les pages protégées par mot de passe ne sont pas indexées. S’applique uniquement au point de terminaison pages.

sélectionnez

select=id,title

Les propriétés à renvoyer. Utilisable pour une seule entité ou collection. Séparez les propriétés par des virgules. Les noms de propriétés respectent la casse.

skip

skip=10

Nombre d’entrées à ignorer dans le jeu de résultats. Généralement utilisé pour les résultats paginés.

top

top=50

Nombre d’entrées à renvoyer dans le jeu de résultats, jusqu’à un maximum de 100. La valeur par défaut est 20.

OneNote fournit également l’option de chaine de requête pagelevel que vous pouvez utiliser pour obtenir le niveau et l’ordre des pages dans la section parent. S’applique uniquement aux requêtes pour les pages d’une section spécifique ou aux requêtes pour une page spécifique. Par exemple :

GET ../sections/{section-id}/pages?pagelevel=true

GET ../pages/{page-id}?pagelevel=true

Fonctions et opérateurs OData pris en charge

L’API OneNote prend en charge les opérateurs et fonctions OData suivants dans les expressions filter. Lorsque vous utilisez des expressions OData, rappelez-vous :

  • Les espaces dans la chaîne de requête d’URL doivent être remplacés par le codage %20.
      Exemple : filter=isDefault%20eq%20true
  • Les noms de propriétés et les comparaisons de chaîne OData respectent la casse. Nous vous recommandons d’utiliser la fonction tolower OData pour les comparaisons de chaînes.
      Exemple : filter=tolower(name) eq 'spring'
Opérateur de comparaisonExemple
eq
(égal à)
createdByAppId eq '{app-id}'
ne
(différent de)
userRole ne 'Owner'
gt
(supérieur à)
createdTime gt 2014-02-23
ge
(supérieur ou égal à)
lastModifiedTime ge 2014-05-05T07:00:00Z
lt
(inférieur à)
createdTime lt 2014-02-23
le
(inférieur ou égal à)
lastModifiedTime le 2014-02-23
Opérateur logiqueExemple
etcreatedTime le 2014-01-30 and createdTime gt 2014-01-23
oucreatedByAppId eq '{app-id}' or createdByAppId eq '{app-id}'
notnot contains(tolower(title),'school')
Fonction de chaîneExemple
contains (contient)contains(tolower(title),'spring')
endswith (finit avec)endswith(tolower(title),'spring')
startswith (commence avec)startswith(tolower(title),'spring')
length (longueur)length(title) eq 19
indexof (indice de)indexof(tolower(title),'spring') eq 1
substring (sous-chaîne)substring(tolower(title),1) eq 'spring'
tolower (en minuscule)tolower(title) eq 'spring'
toupper (en majuscule)toupper(title) eq 'SPRING'
trim (découper)trim(tolower(title)) eq 'spring'
concat (concaténer)concat(title,'- by MyRecipesApp') eq 'Carrot Cake Recipe - by MyRecipesApp'

Propriétés de page, section, groupe de sections et bloc-notes

Les expressions de requête filter, select, expand, et orderby peuvent inclure des propriétés d’entités OneNote. Par exemple :

../sections?filter=createdTime ge 2015-01-01&select=name,pagesUrl&orderby=lastModifiedTime desc

Les noms de propriétés respectent la casse dans les expressions de requête.

Pour la liste des propriétés et types de propriétés, consultez :

L’option de chaîne de requête expand peut être utilisée avec les propriétés de navigation suivantes :

  • Pages : parentNotebook, parentSection
  • Sections : parentNotebook, parentSectionGroup
  • Groupes de sections : sections, sectionGroups, parentNotebook, parentSectionGroup
  • Blocs-notes : sections, sectionGroups

Informations de demande et de réponse pour les demandes GET

Données des requêtesDescription
ProtocoleToutes les demandes utilisent le protocole HTTPS SSL/TLS.
En-tête Authorization

Bearer {token}, où {token} est un jeton d'accès OAuth 2.0 valide pour votre application enregistrée.

S’il est absent ou non valide, la requête échoue avec un code d’état 401. Consultez Authentification et autorisations.

En-tête Accept

- application/json pour les entités OneNote et les jeux d’entités

- text/html pour le contenu de la page

Données de réponseDescription
Code de succèsCode d’état HTTP 200.
Corps de la réponseUne représentation OData de l’entité ou du jeu d’entités au format JSON, de la page HTML ou des données binaires des ressources de fichier.
ErreursEn cas d’échec de la requête, l’API renvoie des erreurs dans l’objet @api.diagnostics dans le corps de la réponse.
En-tête X-CorrelationIdUn GUID qui identifie la requête de manière unique. Vous pouvez utiliser cette valeur avec la valeur de l'en-tête Date lorsque vous utilisez le support Microsoft pour résoudre les problèmes.

Construction de l’URL racine du service OneNote

L’URL racine du service OneNote utilise le format suivant pour tous les appels à OneNote API.

https://www.onenote.com/api/{version}/{location}/notes/


Le segment version dans l’URL représente la version de OneNote API que vous souhaitez utiliser.

  • Utilisez v1.0 pour du code de production stable.
  • Utilisez beta pour tester une fonctionnalité en cours de développement. Les fonctions et fonctionnalités en version bêta peuvent changer. Nous vous recommandons donc de ne pas les utiliser dans votre code de production.


Le segment location dans l’URL représente la localisation des blocs-notes auxquels vous souhaitez accéder.

Blocs-notes sur OneDrive (grand public)
Utilisez me pour le contenu OneNote auquel l’utilisateur actuel peut accéder (contenu propriétaire et partagé).

Blocs-notes sur OneDrive Entreprise
Utilisez me pour le contenu OneNote appartenant à l’utilisateur actuel.

Utilisez users/{id} pour le contenu OneNote que l’utilisateur spécifié (dans l’URL) a partagé avec l’utilisateur actuel. Utilisez l’API de Azure AD Graph pour obtenir les ID utilisateurs.

Blocs-notes de sites SharePoint
Les sites d’équipe et d’autres sites SharePoint peuvent contenir des blocs-notes OneNote dans leurs bibliothèques de documents.

Utilisez myOrganization/siteCollections/{id}/sites/{id} pour le contenu OneNote sur un site du client auquel l’utilisateur actuel est connecté. Seul le client actuel est pris en charge et accessible en utilisant le mot-clé myOrganization. En savoir plus sur l’obtention des ID de sites.

Blocs-notes de groupe Office 365
Les groupes Office 365 font partie de l’expérience connectée Office 365. Les membres du groupe peuvent partager des blocs-notes, des fichiers et des e-mails.

Utilisez myOrganization/groups/{id} pour le contenu OneNote dans le groupe spécifié dont l’utilisateur actuel est membre. Seul le type de groupe Office 365 (qui renvoie le groupType unified) est pris en charge. Utilisez l’API de Azure AD Graph pour obtenir les ID de groupes.


Utilisez la méthode FromUrl pour obtenir la collection de sites et les ID de sites

Vous pouvez utiliser la méthode FromUrl pour obtenir la collection de sites et les ID de sites pour une URL de site absolue spécifiée. Vous devez effectuer cet appel uniquement lorsque cela est nécessaire, puis stocker les valeurs pour une utilisation ultérieure.

Le format de l’URL de site dépend de votre configuration, par exemple https://domain.sharepoint.com/site-a ou https://domain.com/sites/site-a.

Exemple de demande :

GET https://www.onenote.com/api/v1.0/myOrganization/siteCollections/FromUrl(url='{full-path-to-SharePoint-site}')
Authorization: Bearer {token}
Accept: application/json

Exemple de réponse :

{
  "@odata.context":"https://www.onenote.com/api/v1.0/$metadata#Microsoft.OneNote.Api.SiteMetadata",
  "siteCollectionId":"09d1a587-a84b-4264-3d15-669429be8cc5",
  "siteId":"d9e4d5c8-683f-4363-89ae-18c4e3da91e9"
}

Conditions préalables à l’utilisation de FromUrl et pour travailler avec des blocs-notes de sites SharePoint :

  • Vous pouvez uniquement créer des blocs-notes, des groupes de sections, des sections et des pages OneNote sur des sites disposant d’une bibliothèque de documents par défaut. (Certains modèles de sites ne créent pas de bibliothèque de documents par défaut.) Toutefois, les demandes GET renvoient le contenu OneNote de toutes les bibliothèques de documents sur le site.
  • L’URL racine du service OneNote n’est pas modifiable, ce qui signifie que vous ne pouvez pas utiliser un chemin d’accès au site de l’API REST SharePoint et ensuite y coller le point de terminaison notes.
  • L’utilisateur au nom duquel vous appelez doit être membre du site.
  • FromUrl fonctionne uniquement avec les sites qui ont été indexés. L’indexation d’un nouveau site peut prendre plusieurs heures.

Autorisations pour les demandes GET

Pour obtenir le contenu ou la structure OneNote, vous devez demander les autorisations appropriées.

Les étendues suivantes autorisent les demandes GET à l’API OneNote. Choisissez le niveau d’autorisations le plus bas dont votre application a besoin pour faire son travail.

PlateformeÉtendue d’autorisation
Grand publicoffice.onenote, office.onenote_update_by_app, office.onenote_update
EntrepriseNotes.Read, Notes.ReadWrite.CreatedByApp, Notes.ReadWrite, Notes.ReadWrite.All

Pour en savoir plus sur les étendues d’autorisation et leur fonctionnement, consultez la section relative aux étendues d’autorisation dans OneNote.

Ressources supplémentaires

© 2018 Microsoft