Arbeiten Sie mit asynchronen Klassennotizbüchern
Gilt für: Unternehmensnotizbücher auf Office 365
Schulen, Hochschulen und Universitäten weltweit nutzen OneNote-Klassennotizbücher, um die Produktivität, das Engagement und die Zusammenarbeit zu fördern. Sie können Klassennotizbücher für jeden Kurs, jedes Projekt, jeden Begriff und jede Zuordnung verwenden.
Der Endpunkt ClassNotebooks wird verwendet, um allgemeine Aufgaben für Klassennotizbücher auszuführen, z. B. das Erstellen von Klassennotizbüchern sowie das Hinzufügen oder Entfernen von Schülern in asynchronen Aufrufen.
Hinweis
Die OneNote-API stellt den Endpunkt classNotebooksfür Operationen zur Verfügung, die speziell für Klassennotizbücher gedacht sind.
Asynchrone API
Wenn asynchrone Aufrufe an den Endpunkt ClassNotebooks tätigen möchten, senden Sie eine Anforderung mit einer Kopfzeile Prefer: respond-async
.
Antwort
Antwortdaten | Beschreibung |
---|---|
Erfolgscode | Ein 202-Status-HTTP-Statuscode. |
Kopfzeile Standort | Die URL zum Abrufen des Status der Operation. Das Abfragen des Operationsendpunkts liefert ein OperationModel-Objekt, das den Status der Operation und andere Informationen enthält. |
X-CorrelationId-Kopfzeile | Ein globaler Bezeichner (GUID), über den die Anforderung eindeutig identifiziert wird. Sie können diesen Wert zusammen mit dem Wert der Datum-Kopfzeile verwenden, um zusammen mit dem Microsoft Support Probleme zu behandeln. |
Vorgang-Modell
Vorgang-Modell | Beschreibung |
---|---|
ID | Die ID des Vorgangs. |
Status | Der Status kann Folgendes sein: abgeschlossen, wird ausgeführt, nicht gestartet oder ist fehlgeschlagen. - Wenn abgeschlossen, enthält die Eigenschaft resourceLocation den Ressourcenendpunkt für das neue classNotebook. - Bei der Ausführung werden createdDateTime und lastActionDateTime angezeigt, wann die Anforderung erstellt und zuletzt ausgeführt wurde. - Wenn fehlgeschlagen, bieten die Fehler- und @ api.diagnostics-Eigenschaften Fehlerinformationen. |
createdDateTime | Wird angezeigt, wenn die Anforderung erstellt wurde. |
lastActionDateTime | Wird angezeigt, wenn die Anforderung erstellt und zuletzt ausgeführt wurde. |
resourceLocation | Der Endpunkt für die Ressource. |
resourceId | Die ID der Ressource. |
Erstellen der Anforderungs-URI
Informationen zum Erstellen der Anforderungs-URI finden Sie unter Erstellen der Anforderungs-URI im Thema Arbeiten mit Klassennotizbüchern..
Klassennotizbüchher erstellen
Um ein Klassen-Notizbuch in einem asynchronen Aufruf zu erstellen, senden Sie eine POST-Anforderung an den Endpunkt ClassNotebooks mit der Kopfzeile Prefer: respond-async
.
POST ../classNotebooks
Informationen zum Nachrichtentext und zum JSON-Objekt mit den Parametern für die Erstellung von Klassennotizen finden Sie unterErstellen von Klassennotizbüchern.
Beispiel
Die folgende Anfrage erzeugt ein Klassennotizbuch mit dem Namen Math 101.
Anforderung
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
}
Antwort
HTTP/1.1 202 Accepted
Location: https://www.onenote.com/api/v1.0/me/notes/operations/classnotebook-ee91aafb-5685-4357-9465-77d611ef064c
Abfragen des Vorgangs Location Endpunkt, um den Status des CreateClass Vorgangs zu erhalten.
Anforderung
GET https://www.onenote.com/api/v1.0/me/notes/operations/classnotebook-ee91aafb-5685-4357-9465-77d611ef064c
Antwort
{
"@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"
}
Kursteilnehmer und Lehrer hinzufügen
Durch Hinzufügen von Schülern und Lehrern erhalten sie Zugriff auf das Klassennotizbuch. Durch Hinzufügen eines Schülers wird auch eine Schülerabschnittsgruppe erstellt. Diese Abschnittsgruppe ist nur für den Schüler und den Lehrer zugänglich und enthält die für das Notizbuch definierten Abschnitte.
Um einem Klassennotizbuch in einem asynchronen Aufruf einen Schüler oder Lehrer hinzuzufügen, senden Sie eine POST-Anforderung mit einer Kopfzeile an den entsprechenden Endpunkt. Prefer: respond-async
.
Schüler hinzufügen
POST ../classNotebooks/{notebook-id}/students
Einen Lehrer hinzufügen
POST ../classNotebooks/{notebook-id}/teachers
Informationen zum Nachrichtentext und zum JSON-Objekt mit den Parametern für die Erstellung von Klassennotizen finden Sie unterHinzufügen von Schülern oder Lehrern.
Beispiel
Die folgende Anfrage fügt einen Lehrer zum angegebenen Klassennotizbuch hinzu.
Anforderung
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"
}
Antwort
HTTP/1.1 202 Accepted
Location: https://www.onenote.com/api/v1.0/me/notes/operations/classnotebookmember-28d4f01e-32f1-4e82-866e-025b1f2ca2b9
Fragen Sie den Vorgang Location Endpunkt ab, wenn Sie den Status des Vorgangs 'Lehrer hinzufügen' abfragen möchten.
Anforderung
GET https://www.onenote.com/api/v1.0/me/notes/operations/classnotebookmember-28d4f01e-32f1-4e82-866e-025b1f2ca2b9
Antwort
{
"@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"
}
Schüler oder Lehrer entfernen
Das Entfernen von Schülern und Lehrern aus einem Klassennotizbuch entzieht ihnen den Zugriff auf das Notizbuch, löscht aber keine Inhalte. Um einen Schüler oder Lehrer aus einem Klassennotizbuch in einem asynchronen Aufruf zu entfernen, senden Sie eine DELETE-Anforderung an den entsprechenden Endpunkt mit der Kopfzeile.Prefer: respond-async
.
Entfernen eines Schülers
DELETE ../classNotebooks/{notebook-id}/students/{student-id}
Entfernen eines Lehrers
DELETE ../classNotebooks/{notebook-id}/teachers/{teacher-id}
Sie können einen Schüler oder einen Lehrer pro Anfrage entfernen.
Beispiel
Die folgende Anfrage entfernt den angegebenen Schüler aus dem angegebenen Klassennotizbuch.
Anforderung
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
Antwort
HTTP/1.1 202 Accepted
Location: https://www.onenotecom/api/v1.0/me/notes/operations/classnotebookmember-e364e1fe-11a1-4551-8dcc-a143a8c0d78a
Fragen Sie den Vorgang Location Endpunkt ab, wenn Sie den Status des Vorgangs 'Lehrer löschen' abfragen möchten.
Anforderung
GET https://www.onenote.com/api/v1.0/me/notes/operations/classnotebookmember-e364e1fe-11a1-4551-8dcc-a143a8c0d78a
Antwort
{
"@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"
}
Übertragen von Notizbuch
Um ein Notizbuch von einem Lehrer zu einem anderen Lehrer in einem asynchronen Anruf zu übertragen, senden Sie eine POST-Anforderung an den Endpunkt ClassNotebooks .
POST ../classnotebooks/{notebook-id}/Microsoft.OneNote.Api.classnotebooktransfer
Diese API erfordert Administratorrechte für Mandanten.
Senden Sie im Nachrichtentext das JSON-Objekt mit den Transferklassen-Notizbuchparametern.
{
"ClassNotebookTransfer" : {
"sourceTeacher": {
"principalType":"Person",
"id":"alias@tenant"
},
"destinationTeacher" : {
"principalType":"Person",
"id":"alias@tenant"
},
"destinationNotebookName": "notebook-name"
}
}
Parameter | Beschreibung |
---|---|
destinationNotebookName | Der Name des Notizbuchs im Zielverzeichnis. |
destinationTeacher | Ein Hauptobjekt. |
sourceTeacher | Ein Hauptobjekt. |
Der Quell- und der Ziel-Lehrer werden durch ein Hauptobjekt repräsentiert, das die folgenden Parameter enthält.
Parameter | Beschreibung |
---|---|
ID | Der Hauptname des Office 365-Benutzers. Weitere Informationen zu Benutzern und Gruppen finden Sie unter der Azure AD-Diagramm-API-Dokumentation. |
principalType | Person |
Beispiel
Das folgende Beispiel überträgt eine Klassennotizbuch mit dem Namen Classidmath-101.
Anforderung
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"
}
}
Antwort
HTTP/1.1 202 Accepted
Location: https://www.onenote.com/api/v1.0/me/notes/operations/transfer-9a43afaa-7dc9-4405-b661-b735ebf722a0
Den Lokation Endpunkt abfragen, um den Status der Übertragung des Notizbuchs zu erhalten.
Anforderung
GET https://www.onenote.com/api/v1.0/me/notes/operations/transfer-9a43afaa-7dc9-4405-b661-b735ebf722a0
Antwort
{
"@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"
}
Mitgliedschaft aktualisieren
Um die Mitgliedschaft eines Klassen-Notizbuchs in einem asynchronen Aufruf zu aktualisieren, senden Sie eine POST-Anforderung an den Endpunkt ClassNotebooks mit einer Kopfzeile Prefer: respond-async
.
POST
../groups/{groupId}/classnotebooks/Microsoft.OneNote.Api.UpdateMembership
Weitere Informationen zum Nachrichtentext und zum JSON-Objekt mit den Aktualisierungsaktionsaktionsparametern finden Sie unter Mitgliedschaft aktualisieren in Zusammenarbeit mit Klassennotizbücher.
Beispiel
Im folgenden Beispiel wird das Standard-Klassennotizbuch einer einheitlichen Gruppe synchronisiert.
Anforderung
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
Antwort
HTTP/1.1 202 Accepted
Location: https://www.onenote.com/api/v1.0/me/notes/operations/updatemembership-9a43afaa-7dc9-4405-b661-b735ebf722a0
Abfrage des Enpunkts Lokation , um den Status der Aktualisierungsmitgliedschaft eines Klassennotizbuchs abzurufen.
Anforderung
GET https://www.onenote.com/api/v1.0/me/notes/operations/updatemembership-9a43afaa-7dc9-4405-b661-b735ebf722a0
Antwort
{
"@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"
}