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

Copiar blocs de notas, secciones y páginas

Se aplica a: Bloc de notas empresariales en Office 365 solamente

Para copiar un bloc de notas, una sección o una página de OneNote, envíe una solicitud POST al respectivo extremo de acción de copiar. Por ejemplo:

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

Enviar un objeto de copia JSON en el cuerpo del mensaje. Si la solicitud es exitosa, la API de OneNote devuelve un código de estado HTTP 202 y un encabezado Operation-Location. Luego, puede sondear el extremo de la operación para obtener el resultado.

La funcionalidad de copia es compatible con blocs de notas personales, de sitio y grupales de Office 365, pero no con blocs de notas de consumo en OneDrive.

Crear el URI de solicitud

Para crear el URI de solicitud, comience con la URL raíz del servicio para su plataforma:

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/


A continuación, agregue el respectivo extremo de acción de copia:

Copia una página en una sección

../pages/{id}/copyToSection

Copiar una sección en un bloc de notas

../sections/{id}/copyToNotebook

Copiar una sección en un grupo de sección

../sections/{id}/copyToSectionGroup

Copiar un bloc de notas

../notebooks/{id}/copyNotebook

El bloc de notas se copia a la carpeta Bloc de notas en la biblioteca Documentos de destino. La carpeta Bloc de notas se crea si no existe.


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

https://www.onenote.com/api/v1.0/me/notes/sections/{id}/copyToNotebook

https://www.onenote.com/api/v1.0/users/{id}/notes/sections/{id}/copytosectiongroup

https://www.onenote.com/api/v1.0/myOrganization/siteCollections/{id}/sites/{id}/notes/pages/{id}/copyToSection

https://www.onenote.com/api/v1.0/groups/{id}/notes/notebooks/{id}/copyNotebook

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

Crear el cuerpo del mensaje

En el cuerpo del mensaje, envíe un objeto JSON que contenga los parámetros que su operación necesita. Está bien enviar un cuerpo vacío si no se necesitan parámetros.

ParámetroDescripción
idEl id. del bloc de notas de destino o grupo de sección (para las secciones); o el id. de la sección de destino (para páginas).

Usado con copyToNotebook, copyToSectionGroupy copyToSection solamente.
siteCollectionIdEl id. de la colección de sitios de SharePoint que contiene el sitio donde copiar el elemento.

Usado con siteId, y solo se usa al copiar en un sitio de SharePoint.
siteIdEl id. del sitio de SharePoint donde se copia el elemento.

Usado con siteCollectionId, y solo se usa al copiar en un sitio de SharePoint.
groupIdEl id. del grupo donde copiar el elemento.

Se usa solo al copiar en un grupo de Office 365.
renameAsEl nombre de la copia.

Usado con copyNotebook, copyToNotebooky copyToSectionGroup solamente. El valor predeterminado es el nombre del elemento existente.

Aprender como obtener bloc de notas, grupo de sección e id. de sección y obtener colección de sitios e id. de sitios. Para obtener información sobre cómo obtener id. de grupo, consulte la Documentación de la API Azure AD Graph.

Flujo de ejemplo de una operación de copia

Primero, envíe una solicitud POST a la acción de copiar en el artículo que desea copiar. Puede copiar desde bloc de notas a los que el usuario tiene acceso (propios o compartidos), siempre que el origen y el destino estén en la misma cuenta empresarial.

El siguiente ejemplo copia un bloc de notas personal en un sitio de grupo de SharePoint. La solicitud no incluye el parámetro renameAs, por lo que el nuevo bloc de notas usa el nombre existente.

POST https://www.onenote.com/api/v1.0/me/notes/notebooks/1-db247796-f4d1-4972-a869-942919bf9923/copyNotebook
Authorization: Bearer {token}
Content-Type: application/json 

{
  "siteCollectionId":"0f6dbd5d-d179-49c6-aabd-15830ea90ca8",
  "siteId":"3ba679cf-4470-466e-bc20-053bdfec75bf"
}

Las operaciones de copia respetan los permisos del bloc de notas de origen, por lo que el usuario autenticado debe poder acceder al bloc de notas de origen para copiarlo. Sin embargo, las copias no retienen los permisos de la fuente. La copia tiene permisos como si el usuario acabara de crearla.

Si la llamada es exitosa, la API de OneNote devuelve un código de estado 202 y un encabezado Operation-Location. A continuación, le mostramos un extracto de la respuesta:

HTTP/1.1 202 Accepted
Location: https://www.onenote.com/api/v1.0/me/notes/notebooks/1-db247796-f4d1-4972-a869-942919bf9923
X-CorrelationId: 8a211d7c-220b-413d-8022-9a946499fcfb
Operation-Location: https://www.onenote.com/api/beta/myOrganization/siteCollections/0f6dbd5d-d179-49c6-aabd-15830ea90ca8/sites/0f6dbd5d-d179-49c6-aabd-15830ea90ca8/notes/operations/copy-8a211d7c-220b-413d-8022-9a946499fcfb
...

Después sondee el extremo Operation-Location para obtener el estado de la operación de copia:

GET https://www.onenote.com/api/beta/myOrganization/siteCollections/0f6dbd5d-d179-49c6-aabd-15830ea90ca8/sites/0f6dbd5d-d179-49c6-aabd-15830ea90ca8/notes/operations/copy-8a211d7c-220b-413d-8022-9a946499fcfb
Authorization: Bearer {token}
Accept: application/json

La API de OneNote devuelve un objetoOperationModel que muestra el estado actual. La siguiente respuesta de ejemplo se devuelve cuando se completa el estado.

{
  "@odata.context":"https://www.onenote.com/api/beta/$metadata#myOrganization/siteCollections('0f6dbd5d-d179-49c6-aabd-15830ea90ca8')/sites('0f6dbd5d-d179-49c6-aabd-15830ea90ca8')/notes/operations/$entity",
  "id":"copy-1c5be75c-e7db-4219-8145-a2d6c3f171a33ec9f3da-2b24-4fb1-a776-fe8c8cd1410f",
  "status":"completed",
  "createdDateTime":"2015-09-16T17:32:07.048Z",
  "lastActionDateTime":"2015-09-16T17:32:17.7777639Z",
  "resourceLocation":"https://www.onenote.com/api/v1.0/myOrganization/siteCollections/0f6dbd5d-d179-49c6-aabd-15830ea90ca8/sites/3ba679cf-4470-466e-bc20-053bdfec75bf/notes/notebooks/1-bde29eeb-66e2-4fed-8d48-51cd1bf32511",
  "resourceId":null,"
  "error":null
}

El estado puede ser completado, en ejecución, o fallido.

  • Si es completado, la propiedad resourceLocation contiene el extremo del recurso para la nueva copia.
  • Si es en ejecución, la propiedad percentComplete muestra el porcentaje aproximado completado.
  • Si es fallido, el error y las propiedades @api.diagnostics proporcionan información de error.

Puede sondear el extremo de la operación hasta que la operación se complete o falle.

Información de solicitud y respuesta

Datos de solicitudDescripción
ProtocoloTodas las solicitudes usan el protocolo HTTPS SSL/TLS.
Encabezado AuthorizationBearer {token}, donde {token} es un token de acceso de OAuth 2.0 válido para la aplicación registrada.

Si falta o no es válido, se produce un error en la solicitud con un código de estado 401. Vea Authentication and permissions (Autenticación y permisos).
Encabezado Content-Typeapplication/json
Encabezado Acceptapplication/json
Datos de respuestaDescripción
Código de correctoUn código de estado HTTP de estado 202.
Encabezado Operation-LocationLa URL para sondear el estado de la operación.

El sondeo del extremo de la operación devuelve un objeto OperationModel que contiene el estado de la operación y otra información.
Encabezado X-CorrelationIdGUID que identifica la solicitud de manera única. Puede usar este valor junto con el valor del encabezado Date al trabajar con el soporte técnico de Microsoft para solucionar problemas.

Crear la URL raíz del servicio de OneNote

La dirección URL raíz del servicio de OneNote utiliza el siguiente formato para todas las llamadas a la API de OneNote.

https://www.onenote.com/api/{version}/{location}/notes/


El segmento version de la URL representa la versión de la API de OneNote que desea utilizar.

  • Utilice v1.0 para un código de producción estable.
  • Use beta para probar una característica que esté en desarrollo. Las características y funciones pueden cambiar en la versión beta, por lo que le recomendamos que no la use en su código de producción.


El segmento location de la URL representa la ubicación de los blocs de notas a los que desea acceder.

Blocs de notas en OneDrive para la Empresa
Use me para el contenido de OneNote que sea propiedad del usuario actual.

Utilice users/{id} para el contenido de OneNote que el usuario especificado (en la URL) haya compartido con el usuario actual. Use la API de Azure AD Graph para obtener id. de usuario.

Blocs de notas del sitio de SharePoint
Los sitios de grupo y otros sitios de SharePoint pueden contener blocs de notas de OneNote en sus bibliotecas de documentos.

Utilice myOrganization/siteCollections/{id}/sites/{id} para el contenido de OneNote en un sitio de la cuenta empresarial en la que el usuario actual haya iniciado sesión. Solo se admite la cuenta empresarial actual, a la que se accede empleando la palabra clave myOrganization. Descubra cómo obtener id. de sitio.

Blocs de notas de grupo de Office 365
Los grupos de Office 365 son parte de la experiencia conectada de Office 365. Los miembros del grupo pueden compartir blocs de notas, archivos y correos electrónicos.

Utilice myOrganization/groups/{id} para el contenido de OneNote en el grupo especificado del que el usuario actual sea miembro. Los grupos de Office 365 (que devuelven el unified groupType) son el único tipo de grupo admitido. Use la API de Azure AD Graph para obtener id. de usuario.


Utilizar el método FromUrl para obtener la colección y los id. de sitios
Puede usar el método FromUrl para obtener la colección y los id. de sitios para una URL de sitio absoluta y específica. Debe realizar esta llamada solo cuando sea necesario y luego guardar los valores para usarlos en el futuro.

El formato de la URL de sitio depende de su configuración, por ejemplo https://domain.sharepoint.com/site-a o https://domain.com/sites/site-a.

Ejemplo de solicitud:

GET https://www.onenote.com/api/v1.0/myOrganization/siteCollections/FromUrl(url='{full-path-to-SharePoint-site}')
Authorization: Bearer {token}
Accept: application/json

Ejemplo de respuesta:

{
  "@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"
}

Requisitos para usar FromUrl y trabajar con blocs de notas del sitio de SharePoint:

  • Solo puede crear blocs de notas de OneNote, grupos de secciones, secciones y páginas en sitios que tengan una biblioteca de documentos predeterminada. (Algunas plantillas de sitio no crean una biblioteca de documentos predeterminada). Sin embargo, las solicitudes GET devuelven contenido de OneNote de todas las bibliotecas de documentos del sitio.
  • La URL raíz del servicio de OneNote es inmutable, lo que significa que no puede usar una ruta de sitio de la API de REST de SharePoint y luego añadirle el punto de conexión notes.
  • El usuario en cuyo nombre está realizando la llamada debe ser miembro del sitio.
  • FromUrl funciona solo con sitios que hayan sido indexados. Puede llevar varias horas indexar un nuevo sitio.

Permisos

Para copiar bloc de notas, secciones y 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.

PlataformaÁmbito de permisos
Consumidoroffice.onenote_create, office.onenote_update_by_app, office.onenote_update
EmpresaNotes.Create, Notes.ReadWrite.CreatedByApp, Notes.ReadWrite, Notes.ReadWrite.All

Para obtener más información sobre los ámbitos de permiso y cómo funcionan, consulte los ámbitos de permisos de OneNote.

Recursos adicionales

© 2018 Microsoft