Mit Klassennotizbüchern arbeiten
Gilt für: Unternehmensnotizbücher auf Office 365
Schulen, Hochschulen und Universitäten weltweit nutzen Kursnotizbücher, um Produktivität, Engagement und Zusammenarbeit zu fördern. Sie können Kursnotizbücher für jeden Kurs, jedes Projekt, jeden Begriff und jede Zuordnung verwenden.
Sie können den classNotebooks-Endpunkt verwenden, um allgemeine Aufgaben für Kursnotizbücher durchzuführen, wie das Erstellen von Kursnotizbüchern und das Hinzufügen oder Entfernen von Kursteilnehmern.
Hinweis
Die OneNote-API stellt den classNotebooks-Endpunkt für Operationen zur Verfügung, die speziell für Kursnotizbücher sind.
Zusammensetzen des Anforderungs-URI
Um die URI-Anforderung zu erstellen, beginnen Sie mit der Stamm-Dienst-URL für Ihre Plattform:
Notebooks auf OneDrive for Business
https://www.onenote.com/api/v1.0/me/notes/
https://www.onenote.com/api/v1.0/users/{id}/notes/
SharePoint Website-Notebooks
https://www.onenote.com/api/v1.0/myOrganization/siteCollections/{id}/sites/{id}/notes/
Vereinheitlichte Gruppen-Notebooks
https://www.onenote.com/api/v1.0/myOrganization/groups/{id}/notes/
Fügen Sie dann den classNotebooks-Endpunkt hinzu, gefolgt von einem Ressourcenpfad, wie benötigt:
../classNotebooks[?omkt,sendemail]
Ein Kursnotizbuch aktualisieren
../classNotebooks/{notebook-id}
Ein oder mehrere Kursnotizbücher abrufen
../classNotebooks
../classNotebooks/{notebook-id}
../classNotebooks/{notebook-id}
Kursteilnehmer oder Lehrer hinzufügen
../classNotebooks/{notebook-id}/students
../classNotebooks/{notebook-id}/teachers
Kursteilnehmer oder Lehrer entfernen
../classNotebooks/{notebook-id}/students/{student-id}
../classNotebooks/{notebook-id}/teachers/{teacher-id}
../classNotebooks/{notebook-id}/copySectionsToContentLibrary
Ihre vollständige Anfrage-URI wird ungefähr so aussehen wie in diesen Beispielen:
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
Hinweis
Weitere Informationen zur Stamm-URL des Service finden Sie unter diesem Link.
Kursnotizbücher erstellen
Um ein Kursnotizbuch zu erstellen, senden Sie eine POST-Anfrage an den Endpunkt classNotebooks.
POST ../classNotebooks[?omkt,sendemail]
Senden Sie im Nachrichtentext ein JSON-Objekt mit den Erstellungsparametern des Kursnotizbuchs.
{
"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
}
Parameter | Beschreibung |
---|---|
Name | Der Name des Notizbuchs. |
studentSections | Ein Array, das einen oder mehrere Bereichsnamen enthält. Diese Bereiche werden in der Abschnittsgruppe jedes Kursteilnehmers angelegt. |
Lehrer | Ein Array, das ein oder mehrere Hauptobjekte enthält. |
Kursteilnehmer | Ein Array, das ein oder mehrere Hauptobjekte enthält. Für jeden Kursteilnehmer wird eine Abschnittsgruppe angelegt. |
hasTeacherOnlySectionGroup | true um eine Nur Lehrer-Abschnittsgruppe zu erstellen, die nur für Lehrer sichtbar ist. |
omkt | URL-Abfrageparameter, der die Sprache für das Notizbuch angibt. Der Standardwert lautet en-us . Beispiel: ?omkt=es-es |
sendemail | URL-Abfrageparameter, der angibt, ob beim Erstellen des Notizbuchs eine E-Mail-Benachrichtigung an die dem Notizbuch zugeordneten Lehrer und Kursteilnehmer gesendet werden soll. Der Standardwert lautet false . |
Lehrer und Schüler werden durch Hauptobjekte repräsentiert, die die folgenden Eigenschaften enthalten:
Parameter | Beschreibung |
---|---|
ID | Der Hauptname des Office 365-Benutzers. Siehe Azure AD Graph API-Dokumentation, um mehr über Benutzer und Gruppen zu erfahren. |
principalType | Person oder Group |
Unterstützte Sprachen
Mit dem Parameter omkt={language-code}
URL-Abfrage können Sie ein Kursnotizbuch in einer bestimmten Sprache erstellen. Beispiel:
POST ../classNotebooks?omkt=de-de
Die folgenden Sprachcodes werden unterstützt. Die Vorgabe ist en-us
.
Code | Sprache |
---|---|
bg-bg | Български (Bulgarien) |
cs-cz | Čeština (Tschechiche Republik) |
da-dk | Dansk (Dänemark) |
de-de | Deutsch (Deutschland) |
el-gr | Ελληνικά (Griechenland) |
en-us | Deutsch (Deutschland) |
es-es | Español (Spanien) |
et-ee | Eesti (Estland) |
fi-fi | Suomi (Finnland) |
fr-fr | Französisch (Frankreich) |
hi-in | हिंदी (Indien) |
hr-hr | Hrvatski (Kroatien) |
hu-hu | Magyar (Ungarn) |
id-id | Bahasa Indonesien (Indonesien) |
it-it | Italiano (Italien) |
ja-jp | 日本語 (Japan) |
kk-kz | Қазақ (Kasachstan) |
ko-kr | 한국어 (Korea) |
lt-lt | Lietuvių (Litauen) |
lv-lv | Latviešu (Lettland) |
ms-my | Bahasa Melayu (Indonesien) |
nb-no | Norsk (Norwegen) |
nl-nl | Niederländisch (Niederlande) |
pl-pl | Polski (Polen) |
pt-br | Português (Brasilien) |
pt-pt | Portugiesisch (Portugal) |
ro-ro | Română (Rumänien) |
ru-ru | Русский (Russland) |
sk-sk | Slovenčina (Republik Slowakei) |
sl-si | Slowenisch (Slowenien) |
sr-Latn-RS | Srpski (Serbien und Montenegro) |
sv-se | Svenska (Schweden) |
th-th | ไทย (Thailand) |
tr-tr | Türkçe (Türkei) |
uk-ua | Українська (Ukraine) |
vi-vn | Tiếng Việt (Vietnam) |
zh-cn | 简体中文 (China) |
zh-tw | 繁體中文 (China) |
Beispiel
Die folgende Anfrage erzeugt ein Kursnotizbuch mit dem Namen Math 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
}
Dadurch wird ein Kursnotizbuch mit vier Kursteilnehmerabschnittsgruppen erstellt, die jeweils einen Handzettel-, Kursnotizen-, Hausaufgaben- und Quizbereich enthalten. Die für jeden Kursteilnehmer erstellte Abschnittsgruppe ist nur für den Kursteilnehmer und den Lehrer zugänglich. Außerdem wird eine Nur Lehrer-Abschnittsgruppe erstellt, die nur für den Lehrer sichtbar ist. Der Abfrageparameter sendemail=true
gibt an, dass eine E-Mail-Benachrichtigung an die Lehrer und die Kursteilnehmer gesendet wird, wenn das Notizbuch erstellt wird.
Anforderungs- and Antwortinformationen
Die folgenden Informationen gelten für POST /classNotebooks
Anforderungen.
Anforderungsdaten | Beschreibung |
---|---|
Protokoll | Alle Anforderungen verwenden das SSL/TLS HTTPS-Protokoll. |
Header „Authorization“ |
Bei Fehlen oder Ungültigkeit schlägt die Anfrage mit einem 401-Statuscode fehl. Siehe Authentifizierung mit Azure AD (Unternehmensanwendungen). |
Header „Content-Type“ | application/json |
Header „Accept“ | application/json |
Berechtigungsbereich | Notes.ReadWrite.CreatedByApp, Notes.ReadWrite, or Notes.ReadWrite.All |
Antwortdaten | Beschreibung |
---|---|
Erfolgscode | HTTP-Statuscode 201. |
Antworttext | Eine OData-Darstellung des neuen Notizbuchs im JSON-Format. Neben regulären Notizbuch-Eigenschaftenhaben Kursnotizbücher auch die folgenden Eigenschaften:
|
Fehler | Wenn die Anforderung nicht erfüllt wird, gibt die API Fehler im @api.diagnostics -Objekt im Antworttext zurück. |
Header „X-CorrelationId“ | Ein globaler Bezeichner (GUID), über den die Anforderung eindeutig identifiziert wird. Sie können diesen Wert zusammen mit dem Wert des Datum-Headers verwenden, wenn Sie mit dem Microsoft-Support arbeiten, um Probleme zu beheben. |
Kursnotizbücher aktualisieren
Um ein Klassennotizbuch zu aktualisieren, senden Sie eine PATCH-Anforderung an den classNotebooks/{notebook-id}-Endpunkt.
Hinweis
Derzeit kann nur die Eigenschaft hasLeaderOnlySectionGroup in einer PATCH-Anfrage aktualisiert werden.
PATCH ../classNotebooks/{notebook-id}
Senden Sie im Nachrichtentext ein JSON-Objekt mit dem Aktualisierungsparameter.
{
"hasTeacherOnlySectionGroup": true
}
Parameter | Beschreibung |
---|---|
hasTeacherOnlySectionGroup | true um eine Nur Lehrer-Abschnittsgruppe zu erstellen, die nur für Lehrer sichtbar ist. false wird nicht unterstützt. |
Siehe diese Methoden für andere Möglichkeiten, um Kursnotizbücher zu ändern: Kursteilnehmer oder Lehrer hinzufügen, Kursteilnehmer oder Lehrer entfernen, Abschnitte einfügen.
Beispiel
Die folgende Anfrage fügt eine Nur Lehrer -Abschnittsgruppe zum angegebenen Kursnotizbuch hinzu.
PATCH ../v1.0/users/{teacher-id}/notes/classNotebooks/{notebook-id}
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
{
"hasTeacherOnlySectionGroup": true
}
Die neue Abschnittsgruppe Nur Lehrer ist nur für Lehrer sichtbar.
Anforderungs- and Antwortinformationen
Die folgenden Informationen gelten für PATCH ../classNotebooks/{notebook-id}
Anforderungen.
Anforderungsdaten | Beschreibung |
---|---|
Protokoll | Alle Anforderungen verwenden das SSL/TLS HTTPS-Protokoll. |
Header „Authorization“ |
Bei Fehlen oder Ungültigkeit schlägt die Anfrage mit einem 401-Statuscode fehl. Siehe Authentifizierung mit Azure AD (Unternehmensanwendungen). |
Header „Content-Type“ | application/json |
Header „Accept“ | application/json |
Berechtigungsbereich | Notes.ReadWrite.CreatedByApp, Notes.ReadWrite, or Notes.ReadWrite.All |
Antwortdaten | Beschreibung |
---|---|
Erfolgscode | Ein 204 HTTP-Statuscode. |
Fehler | Wenn die Anforderung fehlschlägt, gibt die API Fehler im Antworttext zurück. |
Header „X-CorrelationId“ | Ein globaler Bezeichner (GUID), über den die Anforderung eindeutig identifiziert wird. Sie können diesen Wert zusammen mit dem Wert des Datum-Headers verwenden, wenn Sie mit dem Microsoft-Support arbeiten, um Probleme zu beheben. |
Kursnotizbücher abrufen
Um ein oder mehrere Kursnotizbücher abzurufen, senden Sie eine GET-Anfrage an den Endpunkt classNotebooks.
Ein oder mehrere Kursnotizbücher abrufen
GET ../classNotebooks[?filter,orderby,select,top,skip,expand,count]
Ein bestimmtes Kursnotizbuch abrufen
GET ../classNotebooks/{notebook-id}[?select,expand]
Notizbücher können die Eigenschaften teachers
und students
erweitern. Die Standardsortierreihenfolge ist name asc
.
Kursnotizbücher werden auch für GET /notebooks
-Anfragen zurückgegeben, aber die Ergebnisse enthalten keine Kursnotizbuch-spezifischen Eigenschaften.
Beispiel
Die folgende Anfrage erhält Kursnotizbücher, die seit dem 1. Januar 2016 erstellt wurden.
GET ../v1.0/users/{teacher-id}/notes/classNotebooks?filter=createdTime%20ge%202016-01-01
Authorization: Bearer {token}
Accept: application/json
Weitere Informationen zum Abrufen von Notizbücher, einschließlich der unterstützten Abfrage zu Optionen der Zeichenfolge und Beispiele, finden Sie unter OneNote-Inhalt und -Struktur abrufen.
Anforderungs- and Antwortinformationen
Die folgenden Informationen gelten für GET /classNotebooks
Anforderungen.
Anforderungsdaten | Beschreibung |
---|---|
Protokoll | Alle Anforderungen verwenden das SSL/TLS HTTPS-Protokoll. |
Header „Authorization“ |
Bei Fehlen oder Ungültigkeit schlägt die Anfrage mit einem 401-Statuscode fehl. Siehe Authentifizierung mit Azure AD (Unternehmensanwendungen). |
Header „Accept“ | application/json |
Berechtigungsbereich | Notes.Read, Notes.ReadWrite.CreatedByApp, Notes.ReadWrite, or Notes.ReadWrite.All |
Antwortdaten | Beschreibung |
---|---|
Erfolgscode | HTTP-Statuscode 200. |
Antworttext | Eine OData-Darstellung der Berechtigungen im JSON-Format. Neben regulären Notizbuch-Eigenschaftenhaben Kursnotizbücher auch die folgenden Eigenschaften:
|
Fehler | Wenn die Anforderung nicht erfüllt wird, gibt die API Fehler im @api.diagnostics -Objekt im Antworttext zurück. |
Header „X-CorrelationId“ | Ein globaler Bezeichner (GUID), über den die Anforderung eindeutig identifiziert wird. Sie können diesen Wert zusammen mit dem Wert des Datum-Headers verwenden, wenn Sie mit dem Microsoft-Support arbeiten, um Probleme zu beheben. |
Kursnotizbücher löschen
Zum Löschen eines Klassennotizbuchs senden eine DELETE-Anforderung an den classNotebooks/{notebook-id}-Endpunkt.
DELETE ../classNotebooks/{notebook-id}
Beispiel
Die folgende Anfrage löscht das angegebene Kursnotizbuch.
DELETE ../v1.0/users/{teacher-id}/notes/classNotebooks/{notebook-id}
Authorization: Bearer {token}
Accept: application/json
Anforderungs- and Antwortinformationen
Die folgenden Informationen gelten für DELETE ../classNotebooks/{notebook-id}
Anforderungen.
Anforderungsdaten | Beschreibung |
---|---|
Protokoll | Alle Anforderungen verwenden das SSL/TLS HTTPS-Protokoll. |
Header „Authorization“ |
Bei Fehlen oder Ungültigkeit schlägt die Anfrage mit einem 401-Statuscode fehl. Siehe Authentifizierung mit Azure AD (Unternehmensanwendungen). |
Header „Accept“ | application/json |
Berechtigungsbereich | Notes.ReadWrite.CreatedByApp, Notes.ReadWrite, or Notes.ReadWrite.All |
Antwortdaten | Beschreibung |
---|---|
Erfolgscode | Ein 204 HTTP-Statuscode. |
Fehler | Wenn die Anforderung fehlschlägt, gibt die API Fehler im Antworttext zurück. |
Header „X-CorrelationId“ | Ein globaler Bezeichner (GUID), über den die Anforderung eindeutig identifiziert wird. Sie können diesen Wert zusammen mit dem Wert des Datum-Headers verwenden, wenn Sie mit dem Microsoft-Support arbeiten, um Probleme zu beheben. |
Kursteilnehmer und Lehrer hinzufügen
Das Hinzufügen von Lehrern und Kursteilnehmern ermöglicht ihnen den Zugriff auf das Kursnotizbuch. Durch das Hinzufügen eines Kursteilnehmers wird auch eine Kursteilnehmerabschnittsgruppe angelegt. Diese Abschnittsgruppe ist nur für den Kursteilnehmer und den Lehrer zugänglich und enthält die für das Notizbuch definierten Abschnitte.
Um einen Kursteilnehmer oder Lehrer zu einem Kursnotizbuch hinzuzufügen, senden Sie eine POST-Anfrage an den entsprechenden Endpunkt.
Kursteilnehmer hinzufügen
POST ../classNotebooks/{notebook-id}/students
Einen Lehrer hinzufügen
POST ../classNotebooks/{notebook-id}/teachers
Senden Sie ein JSON-Hauptobjekt im Nachrichtentext. Sie können einen Kursteilnehmer oder einen Lehrer pro Anfrage hinzufügen.
{
"id": "alias@tenant",
"principalType": "Person-or-Group"
}
Lehrer und Schüler werden durch Hauptobjekte repräsentiert, die die folgenden Eigenschaften enthalten:
Parameter | Beschreibung |
---|---|
ID | Der Hauptname des Office 365-Benutzers. Siehe Azure AD Graph API-Dokumentation, um mehr über Benutzer und Gruppen zu erfahren. |
principalType | Person oder Group |
Beispiel
Die folgende Anfrage fügt einen Lehrer zum angegebenen Kursnotizbuch hinzu.
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"
}
Anforderungs- and Antwortinformationen
Die folgenden Informationen gelten für POST /students
und POST /teachers
-Anfragen.
Anforderungsdaten | Beschreibung |
---|---|
Protokoll | Alle Anforderungen verwenden das SSL/TLS HTTPS-Protokoll. |
Header „Authorization“ |
Bei Fehlen oder Ungültigkeit schlägt die Anfrage mit einem 401-Statuscode fehl. Siehe Authentifizierung mit Azure AD (Unternehmensanwendungen). |
Header „Content-Type“ | application/json |
Header „Accept“ | application/json |
Berechtigungsbereich | Notes.ReadWrite.CreatedByApp, Notes.ReadWrite, or Notes.ReadWrite.All |
Antwortdaten | Beschreibung |
---|---|
Erfolgscode | HTTP-Statuscode 201. |
Antworttext | Der Kursteilnehmer oder Lehrer, der hinzugefügt wurde. |
Fehler | Wenn die Anforderung nicht erfüllt wird, gibt die API Fehler im @api.diagnostics -Objekt im Antworttext zurück. |
Header „X-CorrelationId“ | Ein globaler Bezeichner (GUID), über den die Anforderung eindeutig identifiziert wird. Sie können diesen Wert zusammen mit dem Wert des Datum-Headers verwenden, wenn Sie mit dem Microsoft-Support arbeiten, um Probleme zu beheben. |
Kursteilnehmer oder Lehrer entfernen
Das Entfernen von Kursteilnehmern und Lehrern aus einem Kursnotizbuch entzieht ihnen den Zugriff auf das Notizbuch, löscht aber keine Inhalte.
Um einen Kursteilnehmer oder Lehrer aus einem Kursnotizbuch zu entfernen, senden Sie eine DELETE-Anfrage an den entsprechenden Endpunkt.
Entfernen eines Kursteilnehmers
DELETE ../classNotebooks/{notebook-id}/students/{student-id}
Einen Lehrer entfernen
DELETE ../classNotebooks/{notebook-id}/teachers/{teacher-id}
Sie können einen Kursteilnehmer oder einen Lehrer pro Anfrage entfernen.
Beispiel
Die folgende Anfrage entfernt den angegebenen Kursteilnehmer aus dem angegebenen Kursnotizbuch.
DELETE ../v1.0/users/{teacher-id}/notes/classNotebooks/{notebook-id}/students/{student-id}
Authorization: Bearer {token}
Accept: application/json
Anforderungs- and Antwortinformationen
Die folgenden Informationen gelten für DELETE /students
und DELETE /teachers
-Anfragen.
Anforderungsdaten | Beschreibung |
---|---|
Protokoll | Alle Anforderungen verwenden das SSL/TLS HTTPS-Protokoll. |
Header „Authorization“ |
Bei Fehlen oder Ungültigkeit schlägt die Anfrage mit einem 401-Statuscode fehl. Siehe Authentifizierung mit Azure AD (Unternehmensanwendungen). |
Header „Accept“ | application/json |
Berechtigungsbereich | Notes.ReadWrite.CreatedByApp, Notes.ReadWrite, or Notes.ReadWrite.All |
Antwortdaten | Beschreibung |
---|---|
Erfolgscode | Ein 204 HTTP-Statuscode. |
Fehler | Wenn die Anforderung nicht erfüllt wird, gibt die API Fehler im @api.diagnostics -Objekt im Antworttext zurück. |
Header „X-CorrelationId“ | Ein globaler Bezeichner (GUID), über den die Anforderung eindeutig identifiziert wird. Sie können diesen Wert zusammen mit dem Wert des Datum-Headers verwenden, wenn Sie mit dem Microsoft-Support arbeiten, um Probleme zu beheben. |
Bereiche einfügen
Verwenden Sie copySectionsToContentLibrary, um bestimmte Abschnitte aus Office 365-Notizbuchs zu kopieren und in die Inhaltsbibliothek eines Kursnotizbuchs einzufügen. Eine Inhaltsbibliothek ist eine Bereichsgruppe im Kursnotizbuch, die Lese-/Schreibrechte für Lehrer und Leserechte für Kursteilnehmer hat.
Um Abschnitte in ein Notizbuch einzufügen, senden Sie eine POST-Anfrage an den copySectionsToContentLibrary-Endpunkt des Ziel-Notizbuchs. Beispiel:
POST ../classNotebooks/{notebook-id}/copySectionsToContentLibrary
Senden Sie im Nachrichtentext ein JSON-Objekt mit dem Parameter sectionIds.
{
"sectionIds": [
"section1-id",
"section2-id",
...
]
}
Parameter | Beschreibung |
---|---|
sectionIds | Ein Array, das die IDs der Abschnitte enthält, die Sie in das Kursnotizbuch einfügen möchten. |
Der Benutzer muss Zugang zu den Zielabschnitten und dem Notizbuch (Besitzer oder Freigegeben) haben. Alle Ziele müssen im selben Mandanten sein.
Beispiel
Die folgende Anfrage fügt zwei Abschnitte in die Inhaltsbibliothek des angegebenen Kursnotizbuchs ein.
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"
]
}
Anforderungs- and Antwortinformationen
Die folgenden Informationen gelten für POST /copySectionsToContentLibrary
Anforderungen.
Anforderungsdaten | Beschreibung |
---|---|
Protokoll | Alle Anforderungen verwenden das SSL/TLS HTTPS-Protokoll. |
Header „Authorization“ |
Bei Fehlen oder Ungültigkeit schlägt die Anfrage mit einem 401-Statuscode fehl. Siehe Authentifizierung mit Azure AD (Unternehmensanwendungen). |
Header „Content-Type“ | application/json |
Header „Accept“ | application/json |
Berechtigungsbereich | Notes.ReadWrite.CreatedByApp, Notes.ReadWrite, or Notes.ReadWrite.All |
Antwortdaten | Beschreibung |
---|---|
Erfolgscode | Ein 201 HTTP-Statuscode. |
Fehler | Wenn die Erstellungsanforderung fehlschlägt, gibt die API Fehler im Antworttext zurück. |
Header „X-CorrelationId“ | Ein globaler Bezeichner (GUID), über den die Anforderung eindeutig identifiziert wird. Sie können diesen Wert zusammen mit dem Wert des Date-Headers verwenden, um zusammen mit dem Microsoft Support Probleme zu behandeln. |
Die Seiten an den Kursteilnehmer verteilen
Um eine OneNote-Seite an einen Kursteilnehmer zu verteilen, senden Sie eine POST-Anforderung an den Endpunkt classNotebooks. Die folgende Aktion ist nur verfügbar für die einheitliche Gruppe Notizbücher.
POST ../groups/{id}/notes/classnotebooks/{id}/pages('{id}')/Microsoft.OneNote.Api.DistributePageToStudent
Senden Sie im Nachrichtentext ein JSON-Objekt mit den DistributePageTo-Parametern.
{
"studentUserPrincipalName": "alias@tenant",
"lockStartDate": "DateTimeOffset",
"targetSectionName": "section-name",
"assignmentId":"assignment-id",
"ignoreIfStudentPageExists":true
}
Parameter | Beschreibung |
---|---|
studentUserPrincipalName | Der Hauptname des Office 365-Benutzers. Weitere Informationen zu Benutzern finden Sie unter der Azure AD-Graph API-Dokumentation. |
lockStartDate | Die Datum, an dem die Sperre beginnt, vom Typ DateTimeOffset, das für die vergebene Seite festgelegt werden soll. Die Kursteilnehmer-Seite ist schreibgeschützt, wenn die Zeit das Startdatum der Sperre erreicht. Weitere Informationen zum Sperren von Seiten finden Sie unter Seitensperren in Klassen-Notizbücher verwenden. |
targetSectionName | Die Seite wird in den Kursteilnehmer-Abschnitt kopiert. Wenn der Kursteilnehmer-Abschnitt nicht vorhanden ist, wird er erstellt. |
assignmentId | (optional) Die Aufgaben-Id, die für die vergebene Seite festgelegt werden soll. Wenn die Eigenschaft festgelegt ist, sollte eine Seite für eine Zuordnungs-Id veröffentlicht werden und das LockStartDate wäre dann das Fälligkeitsdatum der Aufgabe. |
ignoreIfStudentPageExists | true Ignoriert das Kopieren der Seite, wenn eine andere Seite mit der gleichen Aufgaben-Id vorhanden ist. |
Antwortdaten | Beschreibung |
---|---|
Erfolgscode | HTTP-Statuscode 200. |
Antworttext | Eine OData-Darstellung des Ergebnisses im JSON-Format. Der zurückgegebene Wert ist die Id der Kursteilnehmer-Seite, die kopiert wurde. |
Fehler | Wenn die Anforderung nicht erfüllt wird, gibt die API Fehler im @api.diagnostics-Objekt im Antworttext zurück. |
Header „X-CorrelationId“ | Ein globaler Bezeichner (GUID), über den die Anforderung eindeutig identifiziert wird. Sie können diesen Wert zusammen mit dem Wert des Date-Headers verwenden, um zusammen mit dem Microsoft Support Probleme zu behandeln. |
Beispiel
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
}
Aktualisierung des Startdatums der Seitensperre
Um das Startdatum des Sperrens einer OneNote-Seite zu aktualisieren, senden Sie eine PATCH-Anforderung an den Seiten-Endpunkt.
Weitere Informationen zum Sperren von Seiten finden Sie unter Seitensperren in Klassen-Notizbücher verwenden.
PATCH ../pages/{page-id}
Senden Sie ein JSON-Objekt mit den folgenden Anforderungsdaten im Textkörper der Nachricht.
Anforderungsdaten | Beschreibung |
---|---|
blockEditsInClientStartDate | Eine DateTimeOffset-Struktur, wenn die Seite für die Bearbeitung gesperrt wird. Um das Startdatum für die Sperre zu löschen, legen Sie die Eigenschaft auf null fest. Sie wird dann von der Seite gelöscht. |
Antwortdaten | Beschreibung |
---|---|
Erfolgscode | Ein 204 HTTP-Statuscode Kein Inhalt. |
Fehler | Wenn die Anforderung nicht erfüllt wird, gibt die API Fehler im @api.diagnostics-Objekt im Antworttext zurück. |
Header „X-CorrelationId“ | Ein globaler Bezeichner (GUID), über den die Anforderung eindeutig identifiziert wird. Sie können diesen Wert zusammen mit dem Wert des Date-Headers verwenden, um zusammen mit dem Microsoft Support Probleme zu behandeln. |
Beispiel
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"
}
Abruf des Startdatums der Seitensperre
Wenn Sie das Startdatum für die für eine Seite eingerichtete Sperre abrufen möchten, senden Sie eine GET-Anforderung an den API-Seiten-Endpunkt, um die Seiten(Metadaten) mit einem Abfrage-Parameter blockEditsInClientStartDate=true
abzurufen.
GET ../pages/{page-id}?blockEditsInClientStartDate=true
Weitere Informationen dazu, wie Sie eine Seite abfragen, finden Sie unter Ressourcenpfade für GET-Anforderungen.
Weitere Informationen zum Sperren von Seiten finden Sie unter Seitensperren in Klassen-Notizbücher verwenden.
Antwortdaten | Beschreibung |
---|---|
Erfolgscode | HTTP-Statuscode 200. |
Antworttext | Eine OData-Darstellung der Seite im JSON-Format. Sie enthält den Wert der Eigenschaft BlockEditsInClientStartDate. |
Fehler | Wenn die Anforderung nicht erfüllt wird, gibt die API Fehler im @api.diagnostics-Objekt im Antworttext zurück. |
Header „X-CorrelationId“ | Ein globaler Bezeichner (GUID), über den die Anforderung eindeutig identifiziert wird. Sie können diesen Wert zusammen mit dem Wert des Date-Headers verwenden, um zusammen mit dem Microsoft Support Probleme zu behandeln. |
Beispiel
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
Antwort
{
…
“blockEditsInClientStartDate”:”1985-02-25T23:17:16Z”
…
}
Mitgliedschaft aktualisieren
UpdateMembership synchronisiert ein Standard-Klassennotizbuch einer einheitlichen Gruppe mit der Mitgliedschaft.
Besitzer einer einheitlichen Gruppe werden als Lehrer zu einem Klassennotizbuch hinzugefügt und Mitglieder werden als Kursteilnehmer zu einem Klassennotizbuch hinzugefügt.
Um die Mitgliedschaft im Standard-Klassennotizbuch mit einer einheitlichen Gruppe zu synchronisieren, senden Sie eine POST-Anforderung an den Endpunkt classNotebooks. Die folgende Aktion ist nur verfügbar für das Standard-Notizbuch der einheitlichen Gruppe.
POST ../classnotebooks/Microsoft.OneNote.Api.UpdateMembership
Antwortdaten | Beschreibung |
---|---|
Erfolgscode | Ein 204 HTTP-Statuscode Kein Inhalt. |
Fehler | Wenn die Anforderung nicht erfüllt wird, gibt die API Fehler im @api.diagnostics-Objekt im Antworttext zurück. |
Header „X-CorrelationId“ | Ein globaler Bezeichner (GUID), über den die Anforderung eindeutig identifiziert wird. Sie können diesen Wert zusammen mit dem Wert des Date-Headers verwenden, um zusammen mit dem Microsoft Support Probleme zu behandeln. |
Beispiel
Im folgenden Beispiel wird ein Standard-Klassennotizbuch einer einheitlichen Gruppen-Id synchronisiert.
Anforderung
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
Reparieren eines Klassennotizbuch
Um ein Kursnotizbuch zu reparieren, senden Sie eine POST-Anfrage an den Endpunkt classNotebooks.
POST ../classnotebooks/{notebook-id}/Microsoft.OneNote.Api.RepairNotebook
Die Odata-Aktion liest die Liste der Kursteilnehmer und Lehrer aus den Metadaten des Klassennotizbuchs. Sie wendet die Berechtigungen der Kursteilnehmer dann wieder für ihre Abschnittsgruppen an, _Content Library und _Collaboration Space. Sie wendet außerdem Berechtigungen von Lehrern wieder auf Kursteilnehmer an, _Content Library, _Collaboration Space und _teacher only Abschnittsgruppen.
Für einheitliche Gruppen wird die Gruppenmitgliedschaft nicht aktualisiert; Verwenden Sie dafür stattdessen die UpdateMembership-Aktion.
POST ../classnotebooks/{notebook-id}/Microsoft.OneNote.Api.RepairNotebook
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
Antwortdaten | Beschreibung |
---|---|
Erfolgscode | Ein 204 HTTP-Statuscode Kein Inhalt. |
Fehler | Wenn die Anforderung nicht erfüllt wird, gibt die API Fehler im @api.diagnostics-Objekt im Antworttext zurück. |
Header „X-CorrelationId“ | Ein globaler Bezeichner (GUID), über den die Anforderung eindeutig identifiziert wird. Sie können diesen Wert zusammen mit dem Wert des Date-Headers verwenden, um zusammen mit dem Microsoft Support Probleme zu behandeln. |
Beispiel
POST https://www.onenote.com/api/v1.0/me/notes/classnotebooks/1-b60795e6-0345-4893-a878-ce365d246651/Microsoft.OneNote.Api.RepairNotebook
Erstellen der OneNote-Dienst-Stamm-URL
Die Stamm-URL des OneNote-Diensts verwendet das folgende Format für alle Aufrufe der OneNote-API:
https://www.onenote.com/api/{version}/{location}/notes/
Das version
Segment in der URL steht für die Version der OneNote-API, die Sie verwenden möchten.
Verwenden Sie
v1.0
für stabilen Produktionscode.Verwenden Sie
beta
, um ein Feature zu testen, das sich in der Entwicklung befindet. Features und Funktionen in der Betaversion ändern sich möglicherweise, sodass Sie es nicht in Ihrem Produktionscode verwenden sollten.
Das location
Segment in der URL steht für den Aufenthaltsort der Notizbücher, auf die Sie zugreifen möchten:
Notebooks auf OneDrive for Business
Verwenden Sie
me
für OneNote-Inhalte, die dem aktuellen Benutzer gehören.Verwenden Sie
users/{id}
für OneNote-Inhalte, die der (in der URL) angegebene Benutzer für den aktuellen Benutzer freigegeben hat. Verwenden Sie die Azure AD Graph API, um Benutzer-IDs zu erhalten.
SharePoint Website-Notebooks
Teamwebsites und andere SharePoint-Websites können OneNote-Notebooks in ihren Dokumentbibliotheken enthalten.
Verwenden Sie
myOrganization/siteCollections/{id}/sites/{id}
für OneNote-Inhalte auf einer Website des Mandanten, bei der der aktuelle Benutzer angemeldet ist. Es wird nur der aktuelle Mandant unterstützt, auf den über das SchlüsselwortmyOrganization
zugegriffen wird. Erfahren Sie, wie Sie Website-IDs erhalten.
Vereinheitlichte Gruppen-Notebooks
Einheitliche Gruppen (auch als Office 365-Gruppenbezeichnet) sind Bestandteil der vernetzten Office 365-Erfahrung. Gruppenmitglieder können Notebooks, Dateien und E-Mails freigeben.
Verwenden Sie
myOrganization/groups/{id}
für OneNote-Inhalte in der angegebenen Gruppe, in der der aktuelle Benutzer Mitglied ist. Einheitliche Gruppen sind der einzige unterstützte Gruppentyp. Verwenden Sie die Azure AD Graph API, um Gruppen-IDs zu erhalten.
Verwenden Sie die Methode FromUrl, um die Websitesammlung und die Site-IDs zu erhalten
Sie können die Methode FromUrl verwenden, um die Websitesammlung und die Site-IDs für eine angegebene absolute Site-URL zu erhalten. Sie sollten diesen Aufruf nur bei Bedarf durchführen und dann die Werte für die zukünftige Verwendung speichern.
Das Format der Site-URL hängt von Ihrer Konfiguration ab, zum Beispiel https://domain.sharepoint.com/site-a
oder https://domain.com/sites/site-a
.
Beispielanforderung
GET https://www.onenote.com/api/v1.0/myOrganization/siteCollections/FromUrl(url='{full-path-to-SharePoint-site}')
Authorization: Bearer {token}
Accept: application/json
Beispielantwort
{"@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"}
Voraussetzungen für die Verwendung von FromUrl und die Arbeit mit SharePoint Site Notebooks:
Sie können nur OneNote-Notebooks, Abschnittsgruppen, Abschnitte und Seiten auf Websites erstellen, die über eine Standarddokumentbibliothek verfügen. (Einige Site-Vorlagen erstellen keine Standarddokumentbibliothek.) GET-Anfragen liefern jedoch OneNote-Inhalte aus allen Dokumentbibliotheken auf der Website.
Die Stamm-Url des OneNote-Services ist unveränderlich, d.h. Sie können keinen SharePoint REST-API-Site-Pfad verwenden und dann den Endpunkt notes darauf anheften.
Der Benutzer, in dessen Namen Sie aufrufen, muss Mitglied der Site sein.
FromUrl arbeitet nur mit indizierten Sites. Es kann mehrere Stunden dauern, eine neue Site zu indizieren.
Siehe auch
- OneNote-Kursnotizbuch (Übersicht und Eigenschaften)
- Arbeiten Sie mit Notizbüchern der asynchronen Klasse
- Arbeiten mit Mitarbeiternotizbüchern
- OneNote-Entwicklung
- Abrufen von OneNote-Inhalt und -Struktur
- OneNote-Dev-Center
- OneNote-Entwicklerblog
- Fragen zur OneNote-Entwicklung auf Stack Overflow
- OneNote GitHub-Repos