Utiliser des blocs-notes pour la classe asynchrone
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 OneNote 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 sert à effectuer des tâches courantes pour les ordinateurs portables, telles que la création de blocs-notes de classe, de même que l'ajout ou la suppression d'étudiants dans les appels asynchrones.
Notes
L'API OneNote fournit le point de terminaison classNotebooks pour les opérations spécifiques aux blocs-notes de classe.
API asynchrone
Pour effectuer des appels asynchrones au point de terminaison classNotebooks , envoyez une requête avec un en-tête Prefer: respond-async
.
Réponse
Données de réponse | Description |
---|---|
Code de succès | Un code d'état HTTP de statut 202. |
En-tête Location | L'URL à interroger pour le statut de l'opération. L'interrogation du point de terminaison de l'opération renvoie un objet OperationModel qui contient le statut de l'opération et d'autres informations. |
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. |
Modèle d’opération
Modèle d’opération | Description |
---|---|
ID | L'ID de l’opération. |
Statut | L’état peut être l'une des options suivantes : terminé, en cours d’exécution, pas démarré ou a échoué. - Si terminé, la propriété resourceLocation contient le point de terminaison de la ressource pour la nouvelle copie. - Si en cours d’exécution, les createdDateTime et lastActionDateTime affichent lorsque la requête a été créée et lorsqu'elle a été exécutée pour la dernière fois. - Si échoué, les propriétésErreur et @ api.diagnostics fournissent des informations d'erreur. |
createdDateTime | Indique quand la requête a été créée. |
lastActionDateTime | Indique quand la requête a été créée et lorsqu'elle a été exécutée pour la dernière fois. |
resourceLocation | Point de terminaison pour la ressource. |
resourceId | L'ID de la ressource. |
Construire l’URI de la requête
Pour construire l’URI de la requête, voir Construire l’URI de la requête dans la rubrique Utilisation des blocs-notes de classe.
Créer des blocs-notes de classe
Pour créer un bloc-notes de classe dans un appel asynchrone, envoyez une requête POST au point de terminaison classNotebooks avec l’en-tête Prefer: respond-async
.
POST ../classNotebooks
Pour le corps du message et l’objet JSON avec les paramètres de création du bloc-notes de classe, voir Créer des blocs-notes de classe.
Exemple
La requête suivante crée un bloc-notes de classe nommé Maths 101.
Demande
POST https://www.onenote.com/v1.0/me/notes/classNotebooks?sendemail=true
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
Prefer: respond-async
{
"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
}
Réponse
HTTP/1.1 202 Accepted
Location: https://www.onenote.com/api/v1.0/me/notes/operations/classnotebook-ee91aafb-5685-4357-9465-77d611ef064c
Interrogez le point de terminaison de l'opération Emplacement pour obtenir l’état de l’opération de création de classe.
Demande
GET https://www.onenote.com/api/v1.0/me/notes/operations/classnotebook-ee91aafb-5685-4357-9465-77d611ef064c
Réponse
{
"@odata.context":"https://www.onenote.com/api/v1.0/$metadata#me/notes/operations/$entity",
"id":"classnotebook-ee91aafb-5685-4357-9465-77d611ef064c",
"status":"completed",
"createdDateTime":"2018-06-01T23:44:29.349Z",
"lastActionDateTime":"2018-06-01T23:44:29.349Z",
"resourceLocation":"https://www.onenote.com/api/v1.0/me/notes/classnotebooks/1-cb6e0bf6-1185-4daa-80a1-ded42ca1708e",
"resourceId":"1-cb6e0bf6-1185-4daa-80a1-ded42ca1708e"
}
Ajouter des étudiants et des enseignants
Ajouter des étudiants et des enseignants 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'étudiants choisis pour le bloc-notes.
Pour ajouter un étudiant ou un enseignant dans un bloc-notes de classe via un appel asynchrone, envoyez une requête POST au point de terminaison approprié avec un en-tête Prefer: respond-async
.
Ajout d’un étudiant
POST ../classNotebooks/{notebook-id}/students
Ajouter un enseignant
POST ../classNotebooks/{notebook-id}/teachers
Pour le corps du message et l’objet JSON avec les paramètres de création du bloc-notes de classe , voir Ajouter des étudiants ou des enseignants.
Exemple
La requête suivante ajoute un enseignant au bloc-notes de classe spécifié.
Demande
POST https://www.onenote/api/v1.0/me/notes/classNotebooks/ 1-b68a21fd-cdb3-41f1-a566-0772872a8a0c//teachers
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
Prefer: respond-async
{
"id": "teacher2@contoso.com",
"principalType": "Person"
}
Réponse
HTTP/1.1 202 Accepted
Location: https://www.onenote.com/api/v1.0/me/notes/operations/classnotebookmember-28d4f01e-32f1-4e82-866e-025b1f2ca2b9
Interroger le point de terminaison de l'opération Emplacement pour obtenir l’état de l’opération d’ajout d'enseignant.
Demande
GET https://www.onenote.com/api/v1.0/me/notes/operations/classnotebookmember-28d4f01e-32f1-4e82-866e-025b1f2ca2b9
Réponse
{
"@odata.context":"https://www.onenote/api/v1.0/$metadata#me/notes/operations/$entity",
"id":"classnotebookmember-28d4f01e-32f1-4e82-866e-025b1f2ca2b9",
"status":"completed",
"createdDateTime":"2018-06-12T22:23:47.548Z",
"lastActionDateTime":"2018-06-12T22:23:47.548Z",
"resourceLocation":"https://www.onenote.com/api/v1.0/me/notes/classnotebooks/1-b68a21fd-cdb3-41f1-a566-0772872a8a0c/teachers/teacher2@contoso.net",
"resourceId":"teacher2@contoso.net"
}
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 ajouter un étudiant ou un enseignant dans un bloc-notes de classe via un appel asynchrone, envoyez une requête POST au point de terminaison approprié avec un en-tête Prefer: respond-async
.
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'enseignant spécifié du bloc-notes de classe spécifié.
Demande
DELETE https://www.onenote.com/api/v1.0/me /notes/classNotebooks/1-b68a21fd-cdb3-41f1-a566-0772872a8a0c/teachers/teacher2@contoso.net
Authorization: Bearer {token}
Accept: application/json
Prefer: respond-async
Réponse
HTTP/1.1 202 Accepted
Location: https://www.onenotecom/api/v1.0/me/notes/operations/classnotebookmember-e364e1fe-11a1-4551-8dcc-a143a8c0d78a
Interroger le point de terminaison de l'opération Emplacement pour obtenir l’état de l’opération d’ajout d'enseignant.
Demande
GET https://www.onenote.com/api/v1.0/me/notes/operations/classnotebookmember-e364e1fe-11a1-4551-8dcc-a143a8c0d78a
Réponse
{
"@odata.context":"https://www.onenote.com/api/v1.0/$metadata#me/notes/operations/$entity",
"id":"classnotebookmember-e364e1fe-11a1-4551-8dcc-a143a8c0d78a",
"status":"completed",
"createdDateTime":"2018-06-12T22:40:06.708Z",
"lastActionDateTime":"2018-06-12T22:40:06.708Z",
"resourceLocation":"https://www.onenote.com/api/v1.0/me/notes/classnotebooks/1-b68a21fd-cdb3-41f1-a566-0772872a8a0c/teachers/teacher2@contoso.net",
"resourceId":"teacher2@contoso.net"
}
Transfert de bloc-notes
Pour transférer un bloc-notes d’un enseignant vers un autre enseignant dans un appel asynchrone, envoyez une requête POST au point de terminaison classNotebooks.
POST ../classnotebooks/{notebook-id}/Microsoft.OneNote.Api.classnotebooktransfer
Cette API requiert des privilèges de client administrateur.
Dans le corps du message, envoyez l’objet JSON avec le transfert de paramètres de bloc-notes de classe.
{
"ClassNotebookTransfer" : {
"sourceTeacher": {
"principalType":"Person",
"id":"alias@tenant"
},
"destinationTeacher" : {
"principalType":"Person",
"id":"alias@tenant"
},
"destinationNotebookName": "notebook-name"
}
}
Paramètre | Description |
---|---|
destinationNotebookName | Le nom du bloc-notes à la destination. |
destinationTeacher | Un objet principal. |
sourceTeacher | Un objet principal. |
Les enseignants source et destination sont représentés par un objet principal qui contient les paramètres suivants.
Paramètre | Description |
---|---|
id | Le nom principal de l'utilisateur Office 365. Pour plus d’informations sur les utilisateurs et les groupes, voir la documentation de l’API Azure AD Graph. |
principalType | Personne |
Exemple
L’exemple suivant transfère un bloc-notes de classe nommé Math 101.
Demande
POST https://www.onenote.com/api/v1.0/me/notes/classnotebooks/1-9a43afaa-7dc9-4405-b661-b735ebf722a0/Microsoft.OneNote.Api.classnotebooktransfer
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
Prefer: respond-async
{
"ClassNotebookTransfer" : {
"sourceTeacher": {
"principalType":"Person",
"id":"teacher1@contososd.org"
},
"destinationTeacher" : {
"principalType":"Person",
"id":"teacher2@contososd.org"
},
"destinationNotebookName": "Math 101"
}
}
Réponse
HTTP/1.1 202 Accepted
Location: https://www.onenote.com/api/v1.0/me/notes/operations/transfer-9a43afaa-7dc9-4405-b661-b735ebf722a0
Interroger le point de terminaison de l'opération Emplacement pour obtenir l’état du transfert du bloc-notes.
Demande
GET https://www.onenote.com/api/v1.0/me/notes/operations/transfer-9a43afaa-7dc9-4405-b661-b735ebf722a0
Réponse
{
"@odata.context":"https://www.onenote.com/api/v1.0/$metadata#me/notes/operations/$entity",
"id":"transfer9a43afaa-7dc9-4405-b661-b735ebf722a0",
"status":"completed",
"createdDateTime":"0001-01-01T00:00:00Z",
"lastActionDateTime":"0001-01-01T00:00:00Z",
"resourceId":"1-6e0cebcb-b589-4632-8b31-1ffe804652e0"
}
Mettre à jour l'appartenance
Pour mettre à jour l’appartenance d’un bloc-notes de classe dans un appel asynchrone, envoyez une requête POST au point de terminaison classNotebooks avec un en-tête Prefer: respond-async
.
POST
../groups/{groupId}/classnotebooks/Microsoft.OneNote.Api.UpdateMembership
Pour le corps du message et l’objet JSON avec les paramètres d’action de mise à jour de l’appartenance, consultez la section Mettre à jour l’appartenance dans Utiliser des blocs-notes de classe.
Exemple
L’exemple suivant synchronise le bloc-notes de classe par défaut d’un groupe unifié.
Demande
POST https://www.onenote.com/api/v1.0/myOrganization/groups/1d13f814-83e5-4c11-8294-53bf40defd91/notes/classnotebooks/classnotebooks/Microsoft.OneNote.Api.UpdateMembership
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
Prefer: respond-async
Réponse
HTTP/1.1 202 Accepted
Location: https://www.onenote.com/api/v1.0/me/notes/operations/updatemembership-9a43afaa-7dc9-4405-b661-b735ebf722a0
Interroger le point de terminaison de l'opération Emplacement pour obtenir l’état de la mise à jour de l’appartenance d’un bloc-notes de classe.
Demande
GET https://www.onenote.com/api/v1.0/me/notes/operations/updatemembership-9a43afaa-7dc9-4405-b661-b735ebf722a0
Réponse
{
"@odata.context":"https://www.onenote.com/api/v1.0/$metadata#me/notes/operations/$entity",
"id":"updateMembership-9a43afaa-7dc9-4405-b661-b735ebf722a0",
"status":"completed",
"createdDateTime":"0001-01-01T00:00:00Z",
"lastActionDateTime":"0001-01-01T00:00:00Z",
"resourceId":"1-6e0cebcb-b589-4632-8b31-1ffe804652e0"
}