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

  1. 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/

  1. Fügen Sie dann den classNotebooks-Endpunkt hinzu, gefolgt von einem Ressourcenpfad, wie benötigt:

    Kursnotizbücher erstellen

    ../classNotebooks[?omkt,sendemail]

    Ein Kursnotizbuch aktualisieren

    ../classNotebooks/{notebook-id}

    Ein oder mehrere Kursnotizbücher abrufen

    ../classNotebooks

    ../classNotebooks/{notebook-id}

    Kursnotizbuch löschen

    ../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}

    Bereiche einfügen

    ../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“

Bearer {token}wobei {token} ein gültiges OAuth 2.0 Zugriffstoken für Ihre registrierte Anwendung ist.

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:
  • studentSections. Die Kursteilnehmerabschnitte in den Notizbüchern.
  • teachers. Die Lehrer, die auf das Notizbuch zugreifen können.
  • Kursteilnehmer. Die Kursteilnehmer, die auf das Notizbuch zugreifen können.
  • hatTeacherOnlySectionGroup. true wenn das Notizbuch eine Nur Lehrer-Abschnittsgruppe enthält, sonst false.
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“

Bearer {token}wobei {token} ein gültiges OAuth 2.0 Zugriffstoken für Ihre registrierte Anwendung ist.

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“

Bearer {token}wobei {token} ein gültiges OAuth 2.0 Zugriffstoken für Ihre registrierte Anwendung ist.

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:
  • studentSections. Die Kursteilnehmerabschnitte in den Notizbüchern.
  • teachers. Die Lehrer, die auf das Notizbuch zugreifen können.
  • student. Die Kursteilnehmer, die auf das Notizbuch zugreifen können.
  • hatTeacherOnlySectionGroup. true wenn das Notizbuch eine Nur Lehrer-Abschnittsgruppe enthält, sonst false.
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“

Bearer {token}wobei {token} ein gültiges OAuth 2.0 Zugriffstoken für Ihre registrierte Anwendung ist.

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“

Bearer {token}wobei {token} ein gültiges OAuth 2.0 Zugriffstoken für Ihre registrierte Anwendung ist.

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“

Bearer {token}wobei {token} ein gültiges OAuth 2.0 Zugriffstoken für Ihre registrierte Anwendung ist.

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“

Bearer {token}wobei {token} ein gültiges OAuth 2.0 Zugriffstoken für Ihre registrierte Anwendung ist.

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üsselwort myOrganization 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