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"
}

Voir aussi