Table of contents
TOC
Collapse the table of content
Expand the table of content
Última actualización: 25/07/2018

Crear páginas de OneNote

Se aplica a: Blocs de notas para consumidores de OneDrive | Blocs de notas empresariales de Office 365

Para crear una página de OneNote, envíe una solicitud POST al punto de conexión pages. Por ejemplo:

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

Envíe el HTML que defina la página en el cuerpo del mensaje. Si la solicitud es efectiva, la API de OneNote devuelve un código de estado de 201 HTTP.

Para conocer las solicitudes POST que puede enviar para crear secciones, grupos de secciones y blocs de notas, consulte nuestra referencia REST interactiva.

Crear el URI de la solicitud

Para crear el URI de la solicitud, comience con la dirección URL raíz del servicio:

Blocs de notas en OneDrive
https://www.onenote.com/api/v1.0/me/notes/

Blocs de notas en OneDrive para la Empresa
https://www.onenote.com/api/v1.0/me/notes/
https://www.onenote.com/api/v1.0/users/{id}/notes/

Blocs de notas del sitio de SharePoint
https://www.onenote.com/api/v1.0/myOrganization/siteCollections/{id}/sites/{id}/notes/

Blocs de notas de grupos unificados
https://www.onenote.com/api/v1.0/myOrganization/groups/{id}/notes/


Después, anexe el punto de conexión pages:

Crear una página en cualquier sección (especificada por ID)

../sections/{id}/pages

Si está creando páginas en el bloc de notas personal del usuario en OneDrive o OneDrive para la Empresa, la API de OneNote también proporciona extremos que puede usar para crear páginas en el bloc de notas predeterminado:

Crear una página de OneNote en la sección predeterminada del bloc de notas predeterminado

../me/notes/pages

Crear una página en una sección (especificada por nombre) en el bloc de notas predeterminado (lee las reglas)

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


El URI de la solicitud completa tendrá un aspecto similar a uno de estos ejemplos:

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

Obtenga más información sobre service root URL.

Utilizar el parámetro de URL sectionName

Las reglas siguientes se aplican al usar el parámetro sectionName para crear una página en una sección con nombre del bloc de notas predeterminado:

  • Solo se puede hacer referencia a las secciones de nivel superior (no a las secciones dentro de grupos de secciones).

  • Si en el bloc de notas predeterminado no existe una sección con el nombre especificado, la API la creará. Los caracteres siguientes no pueden usarse en los nombres de sección: ? * \ / : < > | & # " % ~

  • Los nombres de sección no distinguen mayúsculas de minúsculas, pero el uso de mayúsculas se conserva al crear las secciones. Por lo tanto, “Mi nueva sección” se mostrará de esa forma, pero “mi nueva sección” también coincidirá en las publicaciones posteriores.

  • Los nombres de sección necesitan tener el formato de codificación URL. Por ejemplo, los espacios tienen que codificarse como %20.

  • El parámetro sectionName solo es válido con la ruta ../notes/pages (pero no con ../notes/sections/{id}/pages).

Como se crearán secciones si no existen, es seguro usar esta llamada con todas las páginas que cree la aplicación. Aunque los usuarios pueden cambiar el nombre de las secciones, la API creará una sección con el nombre de sección que usted especifique. Tenga en cuenta que los enlaces devueltos por la API para las páginas a las que se haya cambiado el nombre seguirán llegando a esas páginas anteriores.

Crear el cuerpo del mensaje

El código HTML que define el contenido de la página se denomina HTML de entrada. El código HTML de entrada admite un subconjunto de HTML y CSS estándar, además de atributos personalizados. (Los atributos personalizados, como data-id y data-render-src, se describen en HTML de entrada y salida).

Envíe el código HTML de entrada en el cuerpo del mensaje de la solicitud POST. Puede enviar el código HTML de entrada directamente en el cuerpo del mensaje con el tipo de contenido application/xhtml+xml o text/html, o bien puede enviarlo en el elemento “Presentación” de una solicitud de varias partes.

En el ejemplo siguiente, se envía el código HTML de entrada directamente en el cuerpo del mensaje.

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>

Si envía datos binarios, tendrá que usar una solicitud de varias partes.

Para simplificar la programación y la coherencia en la aplicación, puede usar solicitudes de varias partes para crear todas las páginas. Le recomendamos que use una biblioteca para crear mensajes de varias partes. Esto reduce el riesgo de crear cargas útiles mal formadas.

Requisitos y limitaciones para HTML de entrada en las solicitudes páginas POST.

Al enviar HTML de entrada, tenga en cuenta estos requisitos y limitaciones generales:

  • El código HTML de entrada necesita tener codificación UTF-8 y XHTML con un formato correcto. Todas las etiquetas de inicio del contenedor necesitan las etiquetas de cierre correspondientes. Todos los valores de atributo tienen que delimitarse con comillas dobles o simples.

  • El código JavaScript se quita, incluidos los archivos y CSS.

  • Los formularios HTML se quitan por completo.

  • La API de OneNote admite un subconjunto de elementos HTML.

  • La API de OneNote admite un subconjunto de atributos HTML comunes y un conjunto de atributos personalizados, como el atributo data-id utilizado para actualizar páginas. Consulte el HTML de entrada y salida para los atributos compatibles.

HTML y CSS admitido para páginas de OneNote

No todos los elementos, atributos y propiedades son compatibles (en HTML4, XHTML, CSS, HTML5, etc.). En cambio, la API de OneNote acepta un conjunto limitado de HTML que se ajusta mejor a la manera en que los usuarios usan OneNote. Para más información, consulte Compatibilidad de etiquetas HTML con páginas. Si una etiqueta no aparece en esa página, probablemente se ignorará.

La siguiente lista muestra los tipos de elementos básicos que admite la API de OneNote:

<head> and <body>

<title> and <meta>que establece el título de página y la fecha de creación</p> <p id="indent">

through

para los títulos de los párrafos

<p>para los párrafos</p> <p id="indent">

    ,
      , and
    1. para listas y elementos de lista

      <table>, <tr> and <td>, como las tablas anidadas</p> <p id="indent">

      for preformatted text (preserves white space and line breaks)</p>
      <p id="indent">andpara los estilos de letra negrita y cursiva

      La API de OneNote conserva el contenido semántico y la estructura básica del HTML de entrada al crear páginas, pero convierte el HTML de entrada para usar el conjunto compatible de HTML y CSS. Las características que no existen en OneNote no tienen nada para traducir, por lo que es posible que no se las reconozca en el código fuente HTML.

      Solicitud de ejemplo: Esta solicitud de muestra de varias partes crea una página que contiene imágenes y un archivo incrustado. La parte Presentation contiene el HTML de entrada que define la página. La parte imageBlock1 contiene los datos de imagen binarios y fileBlock1 contiene los datos de archivo binarios. Las partes de datos también pueden contener HTML, en cuyo caso la API de OneNote representa el HTML como una imagen en la página de OneNote.

      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>Una página con imágenes renderizadas y un archivo adjunto</title>
          <meta name="created" content="2015-07-22T09:00:00-08:00" />
        </head>
        <body>
          <p>Esta es la imagen obtenida de una <i>fuente en línea</i>:</p>
          <img src="http://..." alt="an image on the page" width="500" />
          <p>Esto es una imagen subida como <b>datos binarios</b>:</p>
          <img src="name:imageBlock1" alt="an image on the page" width="300" />
          <p>Esto es un archivo adjunto:</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>
      ## Información de solicitud y respuesta de las solicitudes de *páginas POST* | Datos de solicitud | Descripción | |------|------| | Protocolo | Todas las solicitudes usan el protocolo SSL/TLS HTTPS. | | Encabezado Authorization | <p>`Bearer {token}`, donde *{token}* es un token de acceso de OAuth 2.0 válido para la aplicación registrada.</p><p>Si falta o no es válido, la solicitud producirá errores con el código de estado 401. Vea [Autenticación y permisos](..\howto\onenote-auth.md).</p> |  
      | Encabezado Content-Type | <p>`text/html` o `application/xhtml+xml` para el contenido HTML, sin importar si se envía directamente en el cuerpo del mensaje o en el elemento “Presentación” necesario de las solicitudes de varias partes.</p><p>Se necesitan solicitudes de varias partes cuando se envían datos binarios y se utiliza el tipo de contenido `multipart/form-data; boundary=part-boundary`, donde *{part-boundary}* es una cadena que señala el inicio y el final de cada parte de datos.</p> |  
      | Encabezado Accept | `application/json` |  | Datos de respuesta | Descripción | |------|------| | Código correcto | Un código de estado del protocolo HTTP 201. | | Cuerpo de la respuesta | Una representación OData de la página nueva en formato JSON. | | Errores | Si se produce un error en la solicitud, la API devuelve errores en el objeto **@api.diagnostics** en el cuerpo de la respuesta. | | Cabecera de ubicación | URL del recurso para la nueva página. | | Encabezado X-CorrelationId | Un GUID que solo identifica la solicitud. Puede usar este valor, además del valor del encabezado de fecha, al trabajar con el soporte técnico de Microsoft para solucionar problemas. |  
      
      
      <a name="root-url"></a>
      ### Construir los permisos de URL raíz del servicio de OneNote [!INCLUDE [service root url section](../includes/onenote/service-root-section.md)]
      
      
      <a name="permissions"></a>
      ##Para crear páginas de OneNote, deberá solicitar los permisos correspondientes. Elija el nivel más bajo de permisos que necesita la aplicación para hacer su trabajo.
      
      [!INCLUDE [Create perms](../includes/onenote/create-perms.md)]  Para obtener más información sobre los ámbitos de permisos y cómo funcionan, consulte los [ámbitos de permisos de OneNote](../howto/onenote-auth.md).
      
      <a name="see-also"></a>
      ## Recursos adicionales - [Añadir imágenes y archivos](../howto/onenote-images-files.md)
      - [Crear elementos absolutos posicionados](../howto/onenote-abs-pos.md) - [Extraer datos](../howto/onenote-extract-data.md)
      - [Usar etiquetas de notas](../howto/onenote-note-tags.md)
      - [Desarrollo de OneNote](../howto/onenote-landing.md)
      - [Centro de desarrollo de OneNote](http://dev.onenote.com/)
      - [Blog de desarrollo de OneNote](http://go.microsoft.com/fwlink/?LinkID=390183)
      - [Preguntas de desarrollo de OneNote sobre el desbordamiento de pila](http://go.microsoft.com/fwlink/?LinkID=390182) - [Repositorios GitHub de OneNote](http://go.microsoft.com/fwlink/?LinkID=390178)
      
      
© 2018 Microsoft