Table of contents
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern
Zuletzt aktualisiert: 25.07.2018

Erstellen von OneNote-Seiten

Gilt für: Privatanwender-Notizbücher auf OneDrive | Enterprise-Notizbücher auf Office 365

Zum Erstellen einer OneNote-Seite senden Sie eine POST-Anforderung an einen pages-Endpunkt. Beispiel:

POST ../notes/sections/{id}/pages

Senden Sie die HTML, das die Seite im Nachrichtentext definiert. Wenn die Anforderung erfolgreich war, gibt die OneNote-API einen 201 HTTP-Statuscode zurück.

Um mehr über die POST-Anfragen zu erfahren, die Sie senden können, um Abschnitte, Abschnittsgruppen und Notizbücher zu erstellen, siehe unseren interaktiver REST-Verweis.

Erstellen des Anforderungs-URI

Um die URI-Anforderung zu erstellen, beginnen Sie mit der Dienst-Root-URL für Ihre Plattform:

Notebooks auf OneDrive
https://www.onenote.com/api/v1.0/me/notes/

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 Endpunkt Seiten an:

Erstellen Sie eine Seite in einem beliebigen Abschnitt (angegeben durch ID)

../sections/{id}/pages

Wenn Sie Seiten im persönlichen Notizbuch des Benutzers in OneDrive oder OneDrive for Business erstellen, bietet die OneNote-API auch Endpunkte, mit denen Sie Seiten im Standardnotizbuch erstellen können:

Erstellen einer Seite im Standardabschnitt des Standardnotizbuchs

../me/notes/pages

Erstellen Sie eine Seite in einem Abschnitt (angegeben durch den Namen) im Standardnotizbuch (siehe Regeln)

../me/notes/pages?sectionName=Some%20section%20name


Ihre vollständige Anforderungs-URI wird wie eines dieser Beispiele aussehen:

https://www.onenote.com/api/v1.0/me/notes/sections/{id}/pages?sectionName=Homework

https://www.onenote.com/api/v1.0/myorganization/sitecollections/{id}/sites/{id}/notes/sections/{id}/pages

https://www.onenote.com/api/v1.0/myorganization/groups/{id}/notes/sections/{id}/pages

Weitere Informationen zur Stamm-URL des Dienstes.

Mit dem sectionName URL-Parameter

Die folgenden Regeln gelten bei Verwendung des sectionName-Parameters zum Erstellen einer Seite in einem benannten Abschnitt im Standardnotizbuch:

  • Nur auf Abschnitte auf oberster Ebene kann verwiesen werden (keine Abschnitte in Abschnittsgruppen).

  • Ist im Standardnotizbuch kein Abschnitt mit dem angegebenen Namen vorhanden, wird er von der API erstellt. Die folgenden Zeichen sind für Abschnittsnamen nicht zulässig: ? * \ / : < > | & # " % ~

  • Beim Abgleich von Abschnittsnamen wird die Groß-und Kleinschreibung nicht beachtet, aber beim Erstellen von Abschnitten bleibt die Groß-/Kleinschreibung erhalten. Somit wird z. B. „Mein neuer Abschnitt“ genau so angezeigt, aber „mein neuer abschnitt“ würde bei nachfolgenden Übermittlungen ebenfalls übereinstimmen.

  • Abschnittsnamen müssen URL-codiert sein. Z. B. müssen Leerzeichen als %20 codiert werden.

  • Der sectionName-Parameter gilt nur für die Route ../notes/pages (nicht für ../notes/sections/{id}/pages).

Da Abschnitte erstellt werden, wenn sie noch nicht vorhanden sind, ist es sicherer, diesen Aufruf mit jeder Seite zu verwenden, die Ihre App erstellt. Benutzer können Abschnitte möglicherweise umbenennen, doch die API erstellt einen neuen Abschnitt mit dem Abschnittsnamen, den Sie angeben. Beachten Sie, dass die Links, die von der API für Seiten in einem umbenannten Abschnitt zurückgegeben werden, immer noch diese älteren Seiten erreichen.

Erstellen Sie den Nachrichtentext

Der HTML-Code, der Seiteninhalt definiert, wird als Eingabe-HTML bezeichnet. Eingabe-HTML unterstützt eine Teilmenge der Standard-HTML und -CSS mit zusätzlichen benutzerdefinierten Attributen. (Benutzerdefinierte Attribute, wie data-id und data-render-src, werden in Eingabe- und Ausgabe-HTML beschrieben.)

Senden Sie die Eingabe-HTML im Nachrichtentext der POST-Anforderung. Sie können die Eingabe-HTML direkt im Nachrichtentext mit dem Inhaltstyp application/xhtml+xml oder text/html senden, oder Sie können sie im „Presentation“-Teil einer mehrteiligen Anforderung senden.

Das folgende Beispiel sendet die Eingabe-HTML direkt im Nachrichtentext.

POST https://www.onenote.com/api/v1.0/me/notes/pages
Authorization: Bearer {token}
Content-Type: application/xhtml+xml

<!DOCTYPE html>
<html>
  <head>
    <title>A page with a block of HTML</title>
    <meta name="created" content="2015-07-22T09:00:00-08:00" />
  </head>
  <body>
    <p>This page contains some <i>formatted</i> <b>text</b> and an image.</p>
    <img src="http://..." alt="an image on the page" width="500" />
  </body>
</html>

Wenn Sie Binärdaten senden, müssen Sie eine mehrteilige Anforderung verwenden.

Zur Vereinfachung der Programmierung und Konsistenz in Ihrer App können Sie mehrteilige Anforderungen verwenden, um alle Seiten zu erstellen. Es ist ratsam, eine Bibliothek zu verwenden, um mehrteilige Nachrichten zu erstellen. Dies reduziert das Risiko von Fehlbildungen der Nutzlast.

Anforderungen und Einschränkungen für die Eingabe-HTML in POST-Seiten-Anforderungen

Beachten Sie beim Senden von Eingabe-HTML diese allgemeinen Anforderungen und Einschränkungen:

  • Die Eingabe-HTML sollte UTF-8-codierter und wohlgeformter XHTML-Code sein. Für alle Container-Starttags müssen die entsprechenden schließenden Tags vorhanden sein. Alle Attributwerte müssen in doppelte oder einzelne Anführungszeichen eingeschlossen werden.

  • JavaScript-Code, hinzugefügte Dateien und CSS werden entfernt.

  • HTML-Formulare werden vollständig entfernt.

  • Die OneNote-API unterstützt einee Untergruppe von HTML-Elementen.

  • Die OneNote-API unterstützt eine Untergruppe gängiger HTML-Attribute und eine Reihe benutzerdefinierter Attribute, wie z.B. das Attribut data-id, das zur Aktualisierung von Seiten verwendet wird. Siehe Eingabe- und Ausgabe-HTML für unterstützte Attribute.

Unterstützte HTML und CSS für OneNote-Seiten

Nicht alle Elemente, Attribute und Eigenschaften werden unterstützt (in HTML4, XHTML, CSS, HTML5, etc.). Stattdessen akzeptiert die OneNote-API einen begrenzten Satz HTML, der besser zu der Art und Weise passt, wie OneNote verwendet wird. Weitere Informationen finden Sie unter HTML-Tag-Unterstützung für Seiten. Wenn ein Tag dort nicht aufgeführt ist, wird er wahrscheinlich ignoriert.

Die folgende Liste zeigt die grundlegenden Elementtypen, die die OneNote-API unterstützt:

<head> and <body>

<title> and <meta> die den Seitentitel und das Erstellungsdatum festlegen

<h1> through <h6> für Abschnittsüberschriften

<p> für Absätze

<ul>, <ol>, and <li> für Listen und Listenelemente

<table>, <tr> and <td>, einschließlich verschachtelter Tabellen

<pre> for preformatted text (preserves white space and line breaks)

<b> and <i> für fette und kursive Zeichenstile

Die OneNote-API bewahrt den semantischen Inhalt und die Grundstruktur der Eingabe-HTML, wenn sie Seiten erstellt, aber sie konvertiert die Eingabe-HTML, um den unterstützten Satz von HTML und CSS zu verwenden. Features, die in OneNote nicht vorhanden sind, müssen nicht übersetzt werden, so dass sie im Quell-HTML vielleicht nicht erkannt werden.

Beispielanforderung Diese beispielhafte mehrteilige Anfoderung erzeugt eine Seite, die Bilder und eine eingebettete Datei enthält. Der benötigte Teil Präsentation enthält die Eingabe-HTML, die die Seite definiert. Der Teil imageBlock1 enthält die binären Bilddaten und fileBlock1 die binären Dateidaten. Datenteile können auch HTML enthalten, wobei die OneNote-API die HTML als Bild auf der OneNote-Seite darstellt.

POST https://www.onenote.com/api/v1.0/me/notes/pages
Authorization: Bearer {token}
Content-Type: multipart/form-data; boundary=MyPartBoundary198374

--MyPartBoundary198374
Content-Disposition:form-data; name="Presentation"
Content-Type:text/html

<!DOCTYPE html>
<html>
  <head>
    <title>Eine Seite mit gerenderten Bildern und einer angehängten Datei</title>
    <meta name="created" content="2015-07-22T09:00:00-08:00" />
  </head>
  <body>
    <p>Hier ist ein Bild von einer <i>Online-Quelle</i>:</p>
    <img src="http://..." alt="an image on the page" width="500" />
    <p>Hier ist ein Bild hochgeladen als <b>binäre Daten</b>:</p>
    <img src="name:imageBlock1" alt="an image on the page" width="300" />
    <p>Hier ist ein Dateianhang:</p>
    <object data-attachment="FileName.pdf" data="name:fileBlock1" type="application/pdf" />
  </body>
</html>  --MyPartBoundary198374 Content-Disposition:form-data; name="imageBlock1" Content-Type:image/jpeg  ... binary image data ...  --MyPartBoundary198374 Content-Disposition:form-data; name="fileBlock1" Content-Type:application/pdf  ... binary file data ...  --MyPartBoundary198374-- ```

For more examples that show how to create pages that contain images and other files, see [Add images and files](..\howto\onenote-images-files.md), our [tutorials](../howto/onenote-tutorial.md), and our [samples](https://github.com/onenotedev). Also, learn how to [create absolute positioned elements](../howto/onenote-abs-pos.md), [use note tags](../howto/onenote-note-tags.md), and [extract data](../howto/onenote-extract-data.md) for business card captures and online recipe and product listings.

The OneNote API is strict about some formats, such as CRLF newlines in a multipart message body. To reduce the risk of creating malformed payloads, you should use a library to construct multipart messages. 
 If you do receive a 400 status for a malformed payload, check the formatting of newlines and whitespaces, and check for encoding issues. For example, try using `charset=utf-8` (example: `Content-Type: text/html; charset=utf-8`).

See [requirements and limitations for input HTML](#input-html-rules) and [size limits for POST requests](..\howto\onenote-images-files.md#size-limits).


<a name="request-response-info"></a>
## Anforderung und Antwortinformationen für *POST-Seiten* Anforderungen  | Datenanforderung | Beschreibung | |------|------| | Protokoll | Alle Anforderungen nutzen das SSL/TLS-HTTPS-Protokoll. | | Autorisierungsheader | <p>`Bearer {token}`, wobei *{token}* ein gültiges OAuth 2.0 Zugriffstoken für Ihre registrierte App ist.</p><p>Bei Fehlen oder Ungültigkeit schlägt die Anfrage mit einem 401-Statuscode fehl. Siehe [Authentifizierung und Berechtigungen](..\howto\onenote-auth.md).</p> |  
| Content-Type-Header | <p>`text/html` oder `application/xhtml+xml` für den HTML-Inhalt, egal ob er direkt im Nachrichtentext oder im gewünschten "Präsentation"-Teil von mehrteiligen Anforderungen gesendet wird.</p><p>Mehrteilige Anforderungen werden beim Senden von Binärdaten benötigt und verwenden den Inhaltstyp `multipart/form-data; boundary=part-boundary`, wobei *{part-boundary}* eine Zeichenfolge ist, der den Anfang und das Ende jedes Datenteils anzeigt.</p> |  
| Header übernehmen | `application/json` |  | Antwortdaten | Beschreibung | |------|------| | Erfolgscode | Ein 201 HTTP Statuscode. | |Antworttext | Eine OData-Darstellung der neuen Seite im JSON-Format. | | Fehler |Wenn die Anforderung fehlschlägt, gibt die API Fehler im Objekt **@api.diagnostics** im Antworttext zurück. | | Location-Header | Die Ressourcen-URL für die neue Seite. | | X-CorrelationId-Header | Eine GUID, die die Anforderung eindeutig identifiziert. Sie können diesen Wert zusammen mit dem Wert des Datum-Headers verwenden, wenn Sie mit dem Microsoft-Support arbeiten, um Probleme zu beheben. |  


<a name="root-url"></a>
### Erstellen der OneNote-Dienst-Root-URL [!INCLUDE [service root url section](../includes/onenote/service-root-section.md)]


<a name="permissions"></a>
## Berechtigungen Um OneNote-Seiten zu erstellen, müssen Sie entsprechende Berechtigungen anfordern. Wählen Sie die unterste Ebene an Berechtigungen aus, die Ihre App für ihre Arbeit benötigt.

[!INCLUDE [Create perms](../includes/onenote/create-perms.md)]  Weitere Informationen zu Berechtigungsbereichen und deren Funktionsweise finden Sie unter [OneNote-Berechtigungsbereiche](../howto/onenote-auth.md).

<a name="see-also"></a>
## Zusätzliche Ressourcen - [Bilder und Dateien hinzufügen](../howto/onenote-images-files.md)
- [Absolut positionierte Elemente erzeugen](../howto/onenote-abs-pos.md) - [Daten extrahieren](../howto/onenote-extract-data.md)
- [Notiztags verwenden](../howto/onenote-note-tags.md)
- [OneNote-Entwicklung](../howto/onenote-landing.md)
- [OneNote-Dev-Center](http://dev.onenote.com/)
- [OneNote-Entwickler-Blog](http://go.microsoft.com/fwlink/?LinkID=390183)
- [OneNote-Entwicklungsfragen zu Stack Overflow](http://go.microsoft.com/fwlink/?LinkID=390182) - [OneNote-GitHub-Repos](http://go.microsoft.com/fwlink/?LinkID=390178)

© 2018 Microsoft