Travailler avec des blocs-notes de classe

S’applique aux : blocs-notes d’entreprise sur Office 365

Les écoles, les facultés et les universités du monde entier utilisent les blocs-notes de classe pour contribuer à promouvoir la productivité, l'engagement et la collaboration. Les blocs-notes de classe sont utilisables pour tout type de classe, projet, échéance et devoir.

Le point de terminaison classNotebooks peut être utilisé pour effectuer des tâches courantes pour les blocs-notes de classe, comme la création de blocs-notes de classe et l'ajout ou la suppression d'élèves.

Notes

L'API OneNote fournit le point de terminaison classNotebooks pour les opérations spécifiques aux blocs-notes de classe.

Construire l’URI de la requête

  1. Pour construire l'URI de requête, commencez par l’URL racine du service pour votre plateforme :

    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/

  1. Ajoutez ensuite le point de terminaison classNotebooks, suivi d’un chemin d’accès aux ressources si nécessaire :

    Créer des blocs-notes de classe

    ../classNotebooks[?omkt,sendemail]

    Mettre à jour un bloc-notes de classe

    ../classNotebooks/{notebook-id}

    Obtenir un ou plusieurs blocs-notes de classe

    ../classNotebooks

    ../classNotebooks/{notebook-id}

    Supprimer un bloc-notes de classe

    ../classNotebooks/{notebook-id}

    Ajouter des élèves ou des enseignants

    ../classNotebooks/{notebook-id}/students

    ../classNotebooks/{notebook-id}/teachers

    Supprimer des étudiants ou des enseignants

    ../classNotebooks/{notebook-id}/students/{student-id}

    ../classNotebooks/{notebook-id}/teachers/{teacher-id}

    Insérer des sections

    ../classNotebooks/{notebook-id}/copySectionsToContentLibrary

Votre requête URI complète ressemblera à ces exemples :

https://www.onenote.com/api/v1.0/me/notes/classNotebooks/{id}/teachers/{id}

https://www.onenote.com/api/v1.0/users/{id}/notes/classNotebooks/{id}/students

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

https://www.onenote.com/api/v1.0/myOrganization/groups/{id}/notes/classNotebooks/{id}

https://www.onenote.com/api/v1.0/me/notes/classNotebooks/{id}/copySectionsToContentLibrary

Notes

En savoir plus sur l’URL racine du service.

Créer des blocs-notes de classe

Pour créer un bloc-notes de classe, envoyez une requête POST au point de terminaison classNotebooks .

POST ../classNotebooks[?omkt,sendemail]

Dans le corps du message, envoyez un objet JSON avec les paramètres de création de bloc-notes de classe.

{
    "name": "notebook-name",
    "studentSections": [ 
        "section1-name", 
        "section2-name"
    ],
    "teachers": [
        {
            "id": "alias@tenant",
            "principalType": "Person-or-Group"
        }
    ],
    "students": [
        {
            "id": "alias@tenant",
            "principalType": "Person-or-Group" 
        },
        {
            "id": "alias@tenant",
            "principalType": "Person-or-Group"
        },
        {
            "id": "alias@tenant",
            "principalType": "Person-or-Group"
        }
   ], 
   "hasTeacherOnlySectionGroup": true
}
Paramètre Description
nom Nom du bloc-notes.
Sections étudiants Un tableau contenant un ou plusieurs noms de section. Ces sections sont créées dans le groupe de sections de chaque étudiant.
enseignants Un tableau contenant un ou plusieurs objets principaux.
étudiants Un tableau contenant un ou plusieurs objets principaux. Un groupe de sections est créé pour chaque étudiant.
hasTeacherOnlySectionGroup true créer un groupe de section Réservé à l'Enseignant visible uniquement par les enseignants.
omkt Paramètre de requête d'URL qui spécifie la langue du bloc-notes. La valeur par défaut est en-us. Exemple : ?omkt=es-es
envoyer e-mail Paramètre de requête d'URL qui spécifie s'il faut envoyer une notification email aux enseignants et aux étudiants affectés au bloc-notes lors de sa création. La valeur par défaut est false.

Les enseignants et les étudiants sont représentés par des objets principaux, qui contiennent les propriétés suivantes :

Paramètre Description
id Le nom principal de l'utilisateur Office 365.

Voir la Documentation de l'API Azure AD Graph pour en savoir plus sur les utilisateurs et les groupes.
principalType Person ou Group

Langues prises en charge

Vous pouvez utiliser le omkt={language-code} paramètre de requête d'URL pour créer un bloc-notes de classe dans une langue spécifique. Par exemple :

POST ../classNotebooks?omkt=de-de

Les codes de langue suivants sont pris en charge. La valeur par défaut est en-us.

Code Language
bg-bg Български (България)
cs-cz Čeština (Česká republika)
da-dk Dansk (Danmark)
de-de Deutsch (Deutschland)
el-gr Ελληνικά (Ελλάδα)
en-us Anglais (États-Unis)
es-es Espagnol (España)
et-ee Eesti (Eesti)
fi-fi Suomi (Suomi)
fr-fr Français (France)
hi-in हिंदी (भारत)
hr-hr Hrvatski (Hrvatska)
hu-hu Magyar (Magyarország)
id-id Bahasa Indonesie (Indonesie)
it-it Italiano (Italia)
ja-jp 日本語 (日本)
kk-kz Қазақ (Қазақстан)
ko-kr 한국어 (대한민국)
lt-lt Lietuvių (Lietuva)
lv-lv Latviešu (Latvija)
ms-my Bahasa Melayu (Asia Tenggara)
nb-no Norsk (Norge)
nl-nl Néerlandais (Nederland)
pl-pl Polski (Polska)
pt-br Portugais (Brésil)
pt-pt Portugais (Portugal)
ro-ro Română (România)
ru-ru Русский (Россия)
sk-sk Slovenčina (Slovenská republika)
sl-si Slovenski (Slovenija)
sr-Latn-RS Srpski (Rep. Srbija i Rep. Crna Gora)
sv-se Svenska (Sverige)
th-th ไทย (ไทย)
tr-tr Türkçe (Türkiye)
uk-ua Українська (Україна)
vi-vn Tiếng Việt (Việt Nam)
zh-cn 简体 中文 (中国)
zh-tw 繁體 中文 (台灣)

Exemple

La requête suivante crée un bloc-notes de classe nommé Maths 101.

POST ../v1.0/users/{teacher-id}/notes/classNotebooks?sendemail=true
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json

{
    "name": "Math 101",
    "studentSections": [
        "Handouts",
        "Class Notes",
        "Homework",
        "Quizzes"
    ],
    "teachers": [
        {
            "id": "teacher1@contoso.com",
            "principalType": "Person"
        }
    ],
    "students": [
        {
            "id": "student1@contoso.com",
            "principalType": "Person"
        },
        {
            "id": "student2@contoso.com",
            "principalType": "Person" 
        },
        {
            "id": "student3@contoso.com",
            "principalType": "Person"
        },
        {
            "id": "student4@contoso.com",
            "principalType": "Person"
        }
    ],
    "hasTeacherOnlySectionGroup": true
}

Cela crée un bloc-notes de classe contenant quatre groupes de sections d'étudiants, chacun contenant une section Documents, Notes de classe, Devoirs et Quiz. Le groupe de sections créé pour chaque élève est accessible uniquement par l'étudiant et l'enseignant. Elle crée également un groupe de section Réservé à l'enseignant qui n'est visible que par l'enseignant. Le sendemail=trueparamètre de requête spécifie l'envoi d'une notification par email à l'enseignant et aux élèves lors de la création du bloc-notes.

Informations sur les requêtes et les réponses

Les informations suivantes s’appliquent uniquement aux requêtes POST /classNotebooks.

Données de requête Description
Protocole Toutes 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 manquant ou non valide, la demande échoue avec un code d'état 401. Voir Authentification avec Azure AD (applications d'entreprise).

En-tête Content-Type application/json
En-tête Accept application/json
Étendue d’autorisation Notes.ReadWrite.CreatedByApp, Notes.ReadWrite ou Notes.ReadWrite.All


Données de réponse Description
Code de succès Code d’état HTTP 201
Corps de la réponse Une représentation OData du nouveau bloc-notes au format JSON.

En plus des propriétés de bloc-notes standard, les blocs-notes de classe ont également les propriétés suivantes :
  • Sections étudiants. Les sections étudiants dans les blocs-notes.
  • enseignants. Les enseignants qui peuvent accéder au bloc-notes.
  • étudiants. Les étudiants qui peuvent accéder au bloc-notes.
  • hasTeacherOnlySectionGroup. true si le bloc-notes contient un groupe de section Réservé à l'enseignant, sinon false.
Erreurs En 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-CorrelationId GUID qui permet d’identifier la requête de manière unique. Vous pouvez utiliser cette valeur, ainsi que la valeur de l’en-tête Date, quand vous travaillez avec le support Microsoft pour résoudre des problèmes.

Mettre à jour les blocs-notes de classe

Pour mettre à jour un bloc-notes de classe, envoyez une requête PATCH au point de terminaison classNotebooks/{notebook-id}.

Notes

Actuellement, seule la propriété hasTeacherOnlySectionGroup peut être mise à jour dans une requête PATCH.

PATCH ../classNotebooks/{notebook-id}

Dans le corps du message, envoyez un objet JSON avec le paramètre de mise à jour.

{
    "hasTeacherOnlySectionGroup": true
}
Paramètre Description
hasTeacherOnlySectionGroup true pour ajouter un groupe de section Réservé à l'Enseignant visible uniquement par les enseignants. false n’est pas pris en charge.

Voir ces méthodes pour d'autres manières de modifier les blocs-notes de classe : Ajouter des étudiants ou des enseignants, Supprimer des étudiants ou des enseignants, Insérer des sections.

Exemple

La requête suivante ajoute un groupe de section Réservé à l'Enseignant au bloc-notes spécifié.

PATCH ../v1.0/users/{teacher-id}/notes/classNotebooks/{notebook-id}
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json

{
    "hasTeacherOnlySectionGroup": true
}

Le nouveau groupe de section Réservé à l'Enseignant est visible uniquement par les enseignants.

Informations sur les requêtes et les réponses

Les informations suivantes s’appliquent uniquement aux requêtes PATCH ../classNotebooks/{notebook-id}.

Données de requête Description
Protocole Toutes 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 manquant ou non valide, la demande échoue avec un code d'état 401. Voir Authentification avec Azure AD (applications d'entreprise).

En-tête Content-Type application/json
En-tête Accept application/json
Étendue d’autorisation Notes.ReadWrite.CreatedByApp, Notes.ReadWrite ou Notes.ReadWrite.All


Données de réponse Description
Code de succès Un code d'état HTTP 204.
Erreurs Si la requête échoue, l’API renvoie les erreurs dans le corps de la réponse.
En-tête X-CorrelationId GUID qui permet d’identifier la requête de manière unique. Vous pouvez utiliser cette valeur, ainsi que la valeur de l’en-tête Date, quand vous travaillez avec le support Microsoft pour résoudre des problèmes.

Obtenir des blocs-notes de classe

Pour obtenir un ou plusieurs blocs-notes de classe, envoyez une requête GET au point de terminaison classNotebooks.

Obtenir un ou plusieurs blocs-notes de classe

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

Obtenir un bloc-notes de classe spécifique

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

Les blocs-notes peuvent développer les propriétés teachers et students. L’ordre de tri par défaut est name asc.

Les blocs-notes de classe sont également retournés pour les requêtes GET /notebooks, mais les résultats n'incluent pas de propriété spécifique aux blocs-notes de classe.

Exemple

La requête suivante obtient les blocs-notes de classe créés depuis le 1er janvier 2016.

GET ../v1.0/users/{teacher-id}/notes/classNotebooks?filter=createdTime%20ge%202016-01-01 
Authorization: Bearer {token}
Accept: application/json

Pour en savoir plus sur l'obtention des blocs-notes, y compris les options et les exemples de chaînes de requête prises en charge, voir Contenu et structure Get OneNote.

Informations sur les requêtes et les réponses

Les informations suivantes s’appliquent uniquement aux requêtes GET /classNotebooks.

Données de requête Description
Protocole Toutes 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 manquant ou non valide, la demande échoue avec un code d'état 401. Voir Authentification avec Azure AD (applications d'entreprise).

En-tête Accept application/json
Étendue d’autorisation Notes.ReadWrite.CreatedByApp, Notes.ReadWrite, ou Notes.ReadWrite.All


Données de réponse Description
Code de succès Code d’état HTTP 200.
Corps de la réponse Une représentation OData des blocs-notes de classe au format JSON.

En plus des propriétés de bloc-notes standard, les blocs-notes de classe ont également les propriétés suivantes :
  • Sections étudiants. Les sections étudiants dans les blocs-notes.
  • enseignants. Les enseignants qui peuvent accéder au bloc-notes.
  • étudiant. Les étudiants qui peuvent accéder au bloc-notes.
  • hasTeacherOnlySectionGroup. true si le bloc-notes contient un groupe de section Réservé à l'enseignant, sinon false.
Erreurs En 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-CorrelationId GUID qui permet d’identifier la requête de manière unique. Vous pouvez utiliser cette valeur, ainsi que la valeur de l’en-tête Date, quand vous travaillez avec le support Microsoft pour résoudre des problèmes.

Supprimer les blocs-notes de classe

Pour supprimer un bloc-notes de classe, envoyez une requête DELETE au point de terminaison classNotebooks/{notebook-id}.

DELETE ../classNotebooks/{notebook-id}

Exemple

La requête suivante supprime le bloc-notes de classe spécifié.

DELETE ../v1.0/users/{teacher-id}/notes/classNotebooks/{notebook-id} 
Authorization: Bearer {token}
Accept: application/json

Informations sur les requêtes et les réponses

Les informations suivantes s’appliquent uniquement aux requêtes DELETE ../classNotebooks/{notebook-id}.

Données de requête Description
Protocole Toutes 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 manquant ou non valide, la demande échoue avec un code d'état 401. Voir Authentification avec Azure AD (applications d'entreprise).

En-tête Accept application/json
Étendue d’autorisation Notes.ReadWrite.CreatedByApp, Notes.ReadWrite ou Notes.ReadWrite.All


Données de réponse Description
Code de succès Un code d'état HTTP 204.
Erreurs Si la requête échoue, l’API renvoie les erreurs dans le corps de la réponse.
En-tête X-CorrelationId GUID qui permet d’identifier la requête de manière unique. Vous pouvez utiliser cette valeur, ainsi que la valeur de l’en-tête Date, quand vous travaillez avec le support Microsoft pour résoudre des problèmes.

Ajouter des étudiants et des enseignants

L'ajout d'enseignants et d'étudiants leur donne accès au bloc-notes de classe. L'ajout d'un étudiant crée également un groupe de section d'étudiants. Ce groupe de section n'est accessible que par l'étudiant et l'enseignant et contient les sections d'étudiant définies pour le bloc-notes.

Pour ajouter un étudiant ou un enseignant à un bloc-notes de classe, envoyez une requête POST au point de terminaison approprié.

Ajout d’un étudiant

POST ../classNotebooks/{notebook-id}/students

Ajouter un enseignant

POST ../classNotebooks/{notebook-id}/teachers

Envoyer un objet principal JSON dans le corps du message. Vous pouvez ajouter un étudiant ou un enseignant par requête.

{
    "id": "alias@tenant",
    "principalType": "Person-or-Group"
}

Les enseignants et les étudiants sont représentés par des objets principaux, qui contiennent les propriétés suivantes :

Paramètre Description
id Le nom principal de l'utilisateur Office 365. Voir la Documentation de l'API Azure AD Graph pour en savoir plus sur les utilisateurs et les groupes.
principalType Person ou Group

Exemple

La requête suivante ajoute un enseignant au bloc-notes de classe spécifié.

POST ../v1.0/users/{teacher-id}/notes/classNotebooks/{notebook-id}/teachers 
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json

{
    "id": "teacher2@contoso.com",
    "principalType": "Person"
}

Informations sur les requêtes et les réponses

Les informations suivantes s’appliquent aux requêtes POST /students et POST /teachers.

Données de requête Description
Protocole Toutes 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 manquant ou non valide, la demande échoue avec un code d'état 401. Voir Authentification avec Azure AD (applications d'entreprise).

En-tête Content-Type application/json
En-tête Accept application/json
Étendue d’autorisation Notes.ReadWrite.CreatedByApp, Notes.ReadWrite ou Notes.ReadWrite.All


Données de réponse Description
Code de succès Code d’état HTTP 201
Corps de la réponse L'étudiant ou l'enseignant qui a été ajouté.
Erreurs En 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-CorrelationId GUID qui permet d’identifier la requête de manière unique. Vous pouvez utiliser cette valeur, ainsi que la valeur de l’en-tête Date, quand vous travaillez avec le support Microsoft pour résoudre des problèmes.

Supprimer des étudiants et des enseignants

La suppression d'étudiants et d'enseignants d'un bloc-notes de classe révoque leur accès au bloc-notes, mais ne supprime aucun contenu.

Pour supprimer un étudiant ou un enseignant d’un bloc-notes de classe, envoyez une requête DELETE au point de terminaison approprié.

Suppression d’un étudiant

DELETE ../classNotebooks/{notebook-id}/students/{student-id}

Supprimer un enseignant

DELETE ../classNotebooks/{notebook-id}/teachers/{teacher-id}

Vous pouvez supprimer un étudiant ou un enseignant par requête.

Exemple

La requête suivante supprime l'étudiant spécifié du bloc-notes de classe spécifié.

DELETE ../v1.0/users/{teacher-id}/notes/classNotebooks/{notebook-id}/students/{student-id} 
Authorization: Bearer {token}
Accept: application/json

Informations sur les requêtes et les réponses

Les informations suivantes s’appliquent aux requêtes DELETE /students et DELETE /teachers.

Données de requête Description
Protocole Toutes 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 manquant ou non valide, la demande échoue avec un code d'état 401. Voir Authentification avec Azure AD (applications d'entreprise).

En-tête Accept application/json
Étendue d’autorisation Notes.ReadWrite.CreatedByApp, Notes.ReadWrite ou Notes.ReadWrite.All


Données de réponse Description
Code de succès Un code d'état HTTP 204.
Erreurs En 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-CorrelationId GUID qui permet d’identifier la requête de manière unique. Vous pouvez utiliser cette valeur, ainsi que la valeur de l’en-tête Date, quand vous travaillez avec le support Microsoft pour résoudre des problèmes.

Insérer des sections

Utilisez copySectionsToContentLibrary pour copier des sections spécifiques de blocs-notes Office 365 et les insérer dans la bibliothèque de contenu d'un bloc-notes de classe. Une bibliothèque de contenu est un groupe de sections contenu dans le bloc-notes de classe qui dispose d'autorisations de lecture / écriture pour les enseignants et d'autorisations de lecture pour les étudiants.

Pour insérer des sections dans un bloc-notes de classe, envoyez une requête POST au point de terminaison copySectionsToContentLibrary du bloc-notes de classe cible. Par exemple :

POST ../classNotebooks/{notebook-id}/copySectionsToContentLibrary

Dans le corps du message, envoyez un objet JSON avec le paramètre sectionIds.

{
    "sectionIds": [
        "section1-id", 
        "section2-id",
        ...
    ]
}
Paramètre Description
sectionIds Un tableau qui contient les ID des sections que vous souhaitez insérer dans le bloc-notes de classe.

L'utilisateur doit avoir un accès propriétaire ou partagé aux sections cibles et au bloc-notes. Toutes les cibles doivent faire partie du même client.

Exemple

La requête suivante insère deux sections dans la bibliothèque de contenu du bloc-notes de classe spécifié.

POST ../v1.0/me/notes/classNotebooks/{notebook-id}/copySectionsToContentLibrary
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json

{
    "sectionIds": [
        "1-85ba33b1-4959-4102-8dcd-d98e4e56e56f", 
        "1-8ba42j81-4959-4102-8dcd-d98e4e94s62ef"
    ]
}

Informations sur les requêtes et les réponses

Les informations suivantes s’appliquent uniquement aux requêtes POST /copySectionsToContentLibrary.

Données de requête Description
Protocole Toutes 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 manquant ou non valide, la demande échoue avec un code d'état 401. Voir Authentification avec Azure AD (applications d'entreprise).

En-tête Content-Type application/json
En-tête Accept application/json
Étendue d’autorisation Notes.ReadWrite.CreatedByApp, Notes.ReadWrite ou Notes.ReadWrite.All


Données de réponse Description
Code de succès Un code d'état HTTP 201.
Erreurs Si la requête de création échoue, l’API renvoie les erreurs dans le corps de la réponse.
En-tête X-CorrelationId GUID qui permet d’identifier la requête de manière unique. Vous pouvez utiliser cette valeur, ainsi que la valeur de l’en-tête Date, quand vous travaillez avec le support Microsoft pour résoudre des problèmes.

Distribuer de page à l’étudiant

Pour distribuer une page OneNote à un étudiant, envoyez une requête POST au point de terminaison classNotebooks. L’action suivante est uniquement disponible pour les blocs-notes du groupe unifié.

POST ../groups/{id}/notes/classnotebooks/{id}/pages('{id}')/Microsoft.OneNote.Api.DistributePageToStudent

Dans le corps du message, envoyez un objet JSON avec les paramètres DistributePageToStudent.

{
"studentUserPrincipalName": "alias@tenant",
"lockStartDate": "DateTimeOffset",
"targetSectionName": "section-name",
"assignmentId":"assignment-id",
"ignoreIfStudentPageExists":true
}
Paramètre Description
studentUserPrincipalName Le nom principal de l'utilisateur Office 365. Pour plus d’informations sur les utilisateurs, voir la documentation de l’API Azure AD Graph.
lockStartDate Date de début du verrouillage de type DateTimeOffset à définir sur la page distribuée. La page de l’étudiant est en lecture seule lorsque l’horloge atteint la date de début du verrouillage. Pour plus d’informations sur le verrouillage de pages, voir Utiliser le verrouillage pages dans le bloc-notes de classe.
targetSectionName La page est copiée dans la section de l’étudiant. Si la section de l’étudiant n’existe pas, elle est créée.
assignmentId (facultatif) L’id d’activité à définir dans la page distribuée. Si la propriété est définie, il doit y avoir une page publiée pour un id d’activité qui a lockStartDate comme échéance.
ignoreIfStudentPageExists true pour ignorer la copie de la page s’il existe une autre page avec le même id d’activité.


Données de réponse Description
Code de succès Code d’état HTTP 200.
Corps de la réponse Représentation OData du résultat au format JSON. La valeur renvoyée est l’id de la page étudiant que vous avez copié.
Erreurs En 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-CorrelationId GUID qui permet d’identifier la requête de manière unique. Vous pouvez utiliser cette valeur, ainsi que la valeur de l’en-tête Date, quand vous travaillez avec le support Microsoft pour résoudre des problèmes.

Exemple

POST https://www.onenote.com/api/v1.0/me/notes/classnotebooks/1-b60795e6-0345-4893-a878-ce365d246651/pages('1-b168ad794f2f469b8de2696dd737d2b3!69-d39b2f49-a8fc-4c92-894b-32a4c27595bb')/Microsoft.OneNote.Api.DistributePageToStudent
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
{
"studentUserPrincipalName": "student1@contoso.net",
"lockStartDate": "2018-12-15T23:17:16Z",
"targetSectionName": "quizes",
"assignmentId":"4cb4f3d3-d7fd-463b-beb5-526dafb7241d",
"ignoreIfStudentPageExists":true
}

Mise à jour de la date de début du verrouillage de page

Pour mettre à jour la date de début du verrouillage d’une page OneNote, envoyez une requête PATCH au point de terminaison des pages.

Pour plus d’informations sur le verrouillage de pages, voir Utiliser le verrouillage pages dans le bloc-notes de classe.

PATCH ../pages/{page-id}

Dans le corps du message, envoyez un objet JSON avec les données de requête suivantes.

Données de requête Description
blockEditsInClientStartDate Une structure DateTimeOffset lorsque la page sera verrouillée pour être modifiée. Pour effacer la date de début du verrouillage, donnez la valeur null à sa propriété et elle sera supprimée de la page.


Données de réponse Description
Code de succès Code d’état HTTP No Content 204.
Erreurs En 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-CorrelationId GUID qui permet d’identifier la requête de manière unique. Vous pouvez utiliser cette valeur, ainsi que la valeur de l’en-tête Date, quand vous travaillez avec le support Microsoft pour résoudre des problèmes.

Exemple

https://www..onenote.com/api/v1.0/me/notes/pages/1-126bc4155684422c827e1682b1e5f2ed!62-3a2cebc9-3121-4162-b84a-07e61671e653
 
{
“blockEditsInClientStartDate”:"2018-02-25T15:17:16.0938811-08:00" 
}

Obtenir la date de début du verrouillage de page

Pour obtenir la date de début du verrouillage définie sur la page, envoyez une requête GET au point de terminaison des pages de l’API pour obtenir le page (métadonnées) avec un paramètre de requête blockEditsInClientStartDate=true.

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

Pour plus d’informations sur la façon d’effectuer une recherche sur une page, voir Chemins d’accès pour les requêtes GET.

Pour plus d’informations sur le verrouillage de pages, voir Utiliser le verrouillage pages dans le bloc-notes de classe.

Données de réponse Description
Code de succès Code d’état HTTP 200.
Corps de la réponse Représentation OData de la page au format JSON. Elle inclut la valeur de la propriété blockEditsInClientStartDate.
Erreurs En 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-CorrelationId GUID qui permet d’identifier la requête de manière unique. Vous pouvez utiliser cette valeur, ainsi que la valeur de l’en-tête Date, quand vous travaillez avec le support Microsoft pour résoudre des problèmes.

Exemple

GET https://www.onenote.com/api/v1.0/me/notes/pages/1-126bc4155684422c827e1682b1e5f2ed!62-3a2cebc9-3121-4162-b84a-07e61671e653?blockEditsInClientStartDate=true
 
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json

Réponse

{
…
“blockEditsInClientStartDate”:”1985-02-25T23:17:16Z”
…
}

Mettre à jour l’appartenance

UpdateMembership permet de synchroniser un bloc-notes de classe par défaut d’un groupe avec son appartenance unifiée.

Les propriétaires de groupe unifié seront ajoutés aux enseignants dans un bloc-notes de classe et les membres seront ajoutés en tant que participants dans un bloc-notes de classe.

Pour synchroniser l’appartenance du bloc-notes de classe par défaut avec un groupe unifié, envoyez une requête POST au point de terminaison classNotebooks. L’action suivante est uniquement disponible pour un bloc-notes par défaut de groupe unifié.

POST ../classnotebooks/Microsoft.OneNote.Api.UpdateMembership
Données de réponse Description
Code de succès Code d’état HTTP No Content 204.
Erreurs En 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-CorrelationId GUID qui permet d’identifier la requête de manière unique. Vous pouvez utiliser cette valeur, ainsi que la valeur de l’en-tête Date, quand vous travaillez avec le support Microsoft pour résoudre des problèmes.

Exemple

L’exemple suivant synchronise un bloc-notes de classe par défaut d’un id de groupe unifié.

Requête

POST https://www.onenote.com/api/v1.0/myOrganization/groups/1d13f814-83e5-4c11-8294-53bf40defd91/notes/classnotebooks/ Microsoft.OneNote.Api.UpdateMembership
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json

Réparer un bloc-notes de classe

Pour réparer un bloc-notes de classe, envoyez une requête POST au point de terminaison classNotebooks.

POST ../classnotebooks/{notebook-id}/Microsoft.OneNote.Api.RepairNotebook

L’action OData lit la liste des étudiants et des enseignants dans les métadonnées du bloc-notes de classe. Ensuite, elle applique à nouveau les autorisations des étudiants à leurs groupes de section, à la bibliothèque _Content et à l’espace _Collaboration. Elle applique également à nouveau les autorisations des enseignants aux étudiants, à la bibliothèque _Content, à l’espace _Collaboration espace et uniquement aux groupes de section _teacher.

Pour les groupes unifiés, elle n’actualise pas l’appartenance au groupe ; pour ce faire, utilisez plutôt l’action UpdateMembership.

POST ../classnotebooks/{notebook-id}/Microsoft.OneNote.Api.RepairNotebook
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
Données de réponse Description
Code de succès Code d’état HTTP No Content 204.
Erreurs En 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-CorrelationId GUID qui permet d’identifier la requête de manière unique. Vous pouvez utiliser cette valeur, ainsi que la valeur de l’en-tête Date, quand vous travaillez avec le support Microsoft pour résoudre des problèmes.

Exemple

POST https://www.onenote.com/api/v1.0/me/notes/classnotebooks/1-b60795e6-0345-4893-a878-ce365d246651/Microsoft.OneNote.Api.RepairNotebook

Construire 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 le 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 être sujettes à des modifications. 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 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 d’un site du client auquel l’utilisateur actuel est connecté. Seul le client actuel est pris en charge, accessible à l’aide du mot clé myOrganization. En savoir plus sur l’obtention des ID de sites.

  • Blocs-notes de groupe unifiés

    • Les groupes unifiés (également appelés 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. Les groupes unifiés constituent le seul type de groupe 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 requête

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.

Voir aussi