Trabajar con blocs de notas de clase

Se aplica a: blocs de notas empresariales en Office 365

Escuelas, colegios y universidades de todo el mundo utilizan blocs de notas de clase para ayudar a promover la productividad, el compromiso y la colaboración. Puede usar blocs de notas de clase para todo tipo de clase, proyecto, término y tarea.

Puede usar el extremo classNotebooks para realizar tareas comunes para bloc de notas de clase, como crear blocs de notas de clase y agregar o eliminar alumnos.

Nota

La API de OneNote proporciona el extremo ClassNotebooks para operaciones que son específicas para blocs de notas de clase.

Crear el URI de la solicitud

  1. Para construir el URI de solicitud, comience con la URL raíz del servicio de 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/

  1. A continuación, agregue el punto de conexión classNotebooks, seguido de una ruta de acceso de recurso, según se requiera:

    Crear blocs de notas de clase

    ../classNotebooks[?omkt,sendemail]

    Actualizar un bloc de notas de clase

    ../classNotebooks/{notebook-id}

    Obtener uno o más blocs de notas de clase

    ../classNotebooks

    ../classNotebooks/{notebook-id}

    Eliminar un bloc de notas de clase

    ../classNotebooks/{notebook-id}

    Agregar alumnos o profesores

    ../classNotebooks/{notebook-id}/students

    ../classNotebooks/{notebook-id}/teachers

    Eliminar alumnos o profesores

    ../classNotebooks/{notebook-id}/students/{student-id}

    ../classNotebooks/{notebook-id}/teachers/{teacher-id}

    Insertar secciones

    ../classNotebooks/{notebook-id}/copySectionsToContentLibrary

Su URI de solicitud completa tendrá más o menos el aspecto de estos ejemplos:

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

Nota

Obtenga más información sobre la dirección URL raíz del servicio.

Crear blocs de notas de clase

Para crear un bloc de notas de clase, envíe una solicitud POST al extremo classNotebooks.

POST ../classNotebooks[?omkt,sendemail]

En el cuerpo del mensaje, envíe un objeto JSON con los parámetros de creación del bloc de notas de clase.

{
    "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
}
Parámetro Descripción
name El nombre del bloc de notas.
studentSections Una matriz que contiene uno o más nombres de sección. Estas secciones se crean en el grupo de secciones de cada alumno.
teachers Una matriz que contiene uno o más objetos principales.
students Una matriz que contiene uno o más objetos principales. Se crea un grupo de secciones para cada alumno.
hasTeacherOnlySectionGroup true para crear un grupo de secciones Solo profesor que solo sea visible para los profesores.
omkt Parámetro de consulta de URL que especifica el idioma para el bloc de notas. El valor predeterminado es en-us. Ejemplo: ?omkt=es-es
sendemail Parámetro de consulta de URL que especifica si se debe enviar una notificación por correo electrónico a los profesores y alumnos asignados al bloc de notas al crearlo. El valor predeterminado es false.

Los profesores y alumnos están representados por objetos principales, que contienen las siguientes propiedades:

Parámetro Descripción
id El nombre principal de usuario de Office 365.

Consulte la Documentación de la API de Azure AD Graph para obtener más información sobre usuarios y grupos.
principalType Person o Group

Idiomas admitidos

Puede utilizar el parámetro de consulta de URL omkt={language-code} para crear un bloc de notas de clase en un idioma específico. Por ejemplo:

POST ../classNotebooks?omkt=de-de

Son compatibles los siguientes códigos de idioma. El valor predeterminado es en-us.

Código Idioma
bg-bg Български (България)
cs-cz Čeština (Česká republika)
da-dk Dansk (Danmark)
de-de Deutsch (Deutschland)
el-gr Ελληνικά (Ελλάδα)
en-us Inglés (Estados Unidos)
es-es Español (España)
et-ee Eesti (Eesti)
fi-fi Suomi (Suomi)
fr-fr Français (France)
hi-in हिंदी (भारत)
hr-hr Hrvatski (Hrvatska)
hu-hu Magyar (Magyarország)
id-id Bahasa Indonesia (Indonesia)
it-it Italiano (Italia)
ja-jp 日本語 (日本)
kk-kz Қазақ (Қазақстан)
ko-kr 한국어 (대한민국)
lt-lt Lietuvių (Lietuva)
lv-lv Latviešu (Latvija)
ms-my Bahasa Melayu (Asia Tenggara)
nb-no Norsk (Norge)
nl-nl Nederlands (Nederland)
pl-pl Polski (Polska)
pt-br Português (Brasil)
pt-pt Português (Portugal)
ro-ro Română (România)
ru-ru Русский (Россия)
sk-sk Slovenčina (Slovenská republika)
sl-si Slovenski (Slovenija)
sr-latn-rs Srpski (Rep. Srbija i Rep. Crna Gora)
sv-se Svenska (Sverige)
th-th ไทย (ไทย)
tr-tr Türkçe (Türkiye)
uk-ua Українська (Україна)
vi-vn Tiếng Việt (Việt Nam)
zh-cn 简体中文 (中国)
zh-tw 繁體中文 (台灣)

Ejemplo

La siguiente solicitud crea un bloc de notas de clase llamado Matemáticas 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
}

Esto crea un bloc de notas de clase con cuatro grupos de secciones de alumnos, cada uno con una sección de Apuntes, Notas de clase, Trabajo para casa y Exámenes rápidos. Solo el alumno y el profesor pueden acceder al grupo de secciones creado para cada alumno. También crea un grupo de secciones de Solo profesor que solo es visible para el profesor. El parámetro de consulta sendemail=true especifica que se debe enviar una notificación por correo electrónico al profesor y a los alumnos cuando se crea el bloc de notas.

Información de la solicitud y la respuesta

La siguiente información se aplica a las solicitudes POST /classNotebooks.

Datos de solicitud Descripción
Protocolo Todas las solicitudes usan el protocolo HTTPS SSL/TLS.
Encabezado Authorization

Bearer {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, la solicitud producirá errores con el código de estado 401. Consulte Autenticar con Azure AD (aplicaciones empresariales).

Encabezado Content-Type application/json
Encabezado Accept application/json
Ámbito de permisos Notes.ReadWrite.CreatedByApp, Notes.ReadWrite o Notes.ReadWrite.All


Datos de respuesta Descripción
Código de correcto Código de estado HTTP 201.
Cuerpo de la respuesta Una representación de OData del nuevo bloc de notas en formato JSON.

Además de las propiedades normales de bloc de notas, los blocs de notas de clase también tienen las propiedades siguientes:
  • studentSections. Las secciones de alumnos en los bloc de notas.
  • teachers. Los profesores que pueden acceder al bloc de notas.
  • students. Los alumnos que pueden acceder al bloc de notas.
  • hasTeacherOnlySectionGroup. true si el bloc de notas contiene un grupo de secciones Solo profesor, de lo contrario false.
Errores Si se produce un error en la solicitud, la API devuelve errors en el objeto @api.diagnostics en el cuerpo de la respuesta.
Encabezado X-CorrelationId GUID que identifica la solicitud de forma única. Puede usar este valor, además del valor del encabezado de fecha, al trabajar con el soporte técnico de Microsoft para solucionar problemas.

Actualizar blocs de notas de clase

Para actualizar un bloc de notas de clase, envíe una solicitud PATCH al punto de conexión classNotebooks/{notebook-id}.

Nota

Actualmente, solo la propiedad hasTeacherOnlySectionGroup se puede actualizar en una solicitud PATCH.

PATCH ../classNotebooks/{notebook-id}

En el cuerpo del mensaje, envíe un objeto JSON con el parámetro update.

{
    "hasTeacherOnlySectionGroup": true
}
Parámetro Descripción
hasTeacherOnlySectionGroup true para crear un grupo de secciones Solo profesor que solo sea visible para los profesores. false no es compatible.

Consulte estos métodos para conocer otras formas de cambiar los blocs de notas de clase: Agregar alumnos o profesores, Eliminar alumnos o profesores, Insertar secciones.

Ejemplo

La siguiente solicitud agrega un grupo de secciones Solo profesor al bloc de notas de clase especificado.

PATCH ../v1.0/users/{teacher-id}/notes/classNotebooks/{notebook-id}
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json

{
    "hasTeacherOnlySectionGroup": true
}

El nuevo grupo de secciones Solo profesor solo es visible para los profesores.

Información de la solicitud y la respuesta

La siguiente información se aplica a las solicitudes PATCH ../classNotebooks/{notebook-id}.

Datos de solicitud Descripción
Protocolo Todas las solicitudes usan el protocolo HTTPS SSL/TLS.
Encabezado Authorization

Bearer {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, la solicitud producirá errores con el código de estado 401. Consulte Autenticar con Azure AD (aplicaciones empresariales).

Encabezado Content-Type application/json
Encabezado Accept application/json
Ámbito de permisos Notes.ReadWrite.CreatedByApp, Notes.ReadWrite o Notes.ReadWrite.All


Datos de respuesta Descripción
Código correcto Un código de estado HTTP 204.
Errores Si se produce un error en la solicitud, la API devolverá errores en el cuerpo de la respuesta.
Encabezado X-CorrelationId GUID que identifica la solicitud de forma única. Puede usar este valor, además del valor del encabezado de fecha, al trabajar con el soporte técnico de Microsoft para solucionar problemas.

Obtener blocs de notas de clase

Para obtener uno o más blocs de notas de clase, envíe una solicitud GET al punto de conexión ClassNotebooks.

Obtener uno o más blocs de notas de clase

GET ../classNotebooks[?filter,orderby,select,top,skip,expand,count]

Obtener un bloc de notas de clase específico

GET ../classNotebooks/{notebook-id}[?select,expand]

Los blocs de notas pueden expandir las propiedades teachers y students. El criterio de ordenación predeterminado es name asc.

También se devuelven blocs de notas de clase en solicitudes GET /notebooks, pero los resultados no incluirán propiedades específicas de bloc de notas de clase.

Ejemplo

La siguiente solicitud obtiene los blocs de notas de clase creados desde el 1 de enero de 2016.

GET ../v1.0/users/{teacher-id}/notes/classNotebooks?filter=createdTime%20ge%202016-01-01 
Authorization: Bearer {token}
Accept: application/json

Para obtener más información sobre cómo obtener blocs de notas, incluidas las opciones y ejemplos de cadenas de consulta compatibles, consulte Obtener contenido y estructura de OneNote.

Información de la solicitud y la respuesta

La siguiente información se aplica a las solicitudes GET /classNotebooks.

Datos de solicitud Descripción
Protocolo Todas las solicitudes usan el protocolo HTTPS SSL/TLS.
Encabezado Authorization

Bearer {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, la solicitud producirá errores con el código de estado 401. Consulte Autenticar con Azure AD (aplicaciones empresariales).

Encabezado Accept application/json
Ámbito de permisos Notes.Read, Notes.ReadWrite.CreatedByApp, Notes.ReadWrite o Notes.ReadWrite.All


Datos de respuesta Descripción
Código de correcto Un código de estado HTTP 200.
Cuerpo de la respuesta Una representación de OData de los blocs de notas de clase en formato JSON.

Además de las propiedades normales de bloc de notas, los blocs de notas de clase también tienen las propiedades siguientes:
  • studentSections. Las secciones de alumnos en los bloc de notas.
  • teachers. Los profesores que pueden acceder al bloc de notas.
  • student. Los alumnos que pueden acceder al bloc de notas.
  • hasTeacherOnlySectionGroup. true si el bloc de notas contiene un grupo de secciones Solo profesor, de lo contrario false.
Errores Si se produce un error en la solicitud, la API devuelve errors en el objeto @api.diagnostics en el cuerpo de la respuesta.
Encabezado X-CorrelationId GUID que identifica la solicitud de forma única. Puede usar este valor, además del valor del encabezado de fecha, al trabajar con el soporte técnico de Microsoft para solucionar problemas.

Eliminar blocs de notas de clase

Para eliminar un bloc de notas de clase, envíe una solicitud DELETE al punto de conexión classNotebooks/{notebook-id}.

DELETE ../classNotebooks/{notebook-id}

Ejemplo

La siguiente solicitud elimina el bloc de notas de clase especificado.

DELETE ../v1.0/users/{teacher-id}/notes/classNotebooks/{notebook-id} 
Authorization: Bearer {token}
Accept: application/json

Información de la solicitud y la respuesta

La siguiente información se aplica a las solicitudes DELETE ../classNotebooks/{notebook-id}.

Datos de solicitud Descripción
Protocolo Todas las solicitudes usan el protocolo HTTPS SSL/TLS.
Encabezado Authorization

Bearer {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, la solicitud producirá errores con el código de estado 401. Consulte Autenticar con Azure AD (aplicaciones empresariales).

Encabezado Accept application/json
Ámbito de permisos Notes.ReadWrite.CreatedByApp, Notes.ReadWrite o Notes.ReadWrite.All


Datos de respuesta Descripción
Código correcto Un código de estado HTTP 204.
Errores Si se produce un error en la solicitud, la API devolverá errores en el cuerpo de la respuesta.
Encabezado X-CorrelationId GUID que identifica la solicitud de forma única. Puede usar este valor, además del valor del encabezado de fecha, al trabajar con el soporte técnico de Microsoft para solucionar problemas.

Agregar alumnos y profesores

Al agregar profesores y alumnos, se les da acceso al bloc de notas de clase. Agregar un alumno también crea un grupo de secciones de alumno. Este grupo de secciones solo es accesible para el alumno y el profesor, y contiene las secciones de los alumnos que están definidas para el bloc de notas.

Para agregar un alumno o profesor a un bloc de notas de clase, envíe una solicitud POST al punto de conexión apropiado.

Agregar un alumno

POST ../classNotebooks/{notebook-id}/students

Agregar un profesor

POST ../classNotebooks/{notebook-id}/teachers

Envíe un objeto principal JSON en el cuerpo del mensaje. Puede agregar un alumno o un profesor por solicitud.

{
    "id": "alias@tenant",
    "principalType": "Person-or-Group"
}

Los profesores y alumnos están representados por objetos principales, que contienen las siguientes propiedades:

Parámetro Descripción
id El nombre principal de usuario de Office 365. Consulte la Documentación de la API de Azure AD Graph para obtener más información sobre usuarios y grupos.
principalType Person o Group

Ejemplo

La siguiente solicitud agrega un profesor al bloc de notas de clase especificado.

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

Información de la solicitud y la respuesta

La siguiente información se aplica a las solicitudes POST /students y POST /teachers.

Datos de solicitud Descripción
Protocolo Todas las solicitudes usan el protocolo HTTPS SSL/TLS.
Encabezado Authorization

Bearer {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, la solicitud producirá errores con el código de estado 401. Consulte Autenticar con Azure AD (aplicaciones empresariales).

Encabezado Content-Type application/json
Encabezado Accept application/json
Ámbito de permisos Notes.ReadWrite.CreatedByApp, Notes.ReadWrite o Notes.ReadWrite.All


Datos de respuesta Descripción
Código de correcto Código de estado HTTP 201.
Cuerpo de la respuesta El estudiante o profesor que se agregó.
Errores Si se produce un error en la solicitud, la API devuelve errors en el objeto @api.diagnostics en el cuerpo de la respuesta.
Encabezado X-CorrelationId GUID que identifica la solicitud de forma única. Puede usar este valor, además del valor del encabezado de fecha, al trabajar con el soporte técnico de Microsoft para solucionar problemas.

Eliminar alumnos y profesores

La eliminación de alumnos y profesores de un bloc de notas de clase revoca su acceso al bloc de notas, pero no elimina ningún contenido.

Para eliminar un alumno o profesor de un bloc de notas de clase, envíe una solicitud DELETE al punto de conexión apropiado.

Quitar un alumno

DELETE ../classNotebooks/{notebook-id}/students/{student-id}

Eliminar un profesor

DELETE ../classNotebooks/{notebook-id}/teachers/{teacher-id}

Puede eliminar un alumno o un profesor por solicitud.

Ejemplo

La siguiente solicitud elimina al alumno especificado del bloc de notas de clase especificado.

DELETE ../v1.0/users/{teacher-id}/notes/classNotebooks/{notebook-id}/students/{student-id} 
Authorization: Bearer {token}
Accept: application/json

Información de la solicitud y la respuesta

La siguiente información se aplica a las solicitudes DELETE /students y DELETE /teachers.

Datos de solicitud Descripción
Protocolo Todas las solicitudes usan el protocolo HTTPS SSL/TLS.
Encabezado Authorization

Bearer {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, la solicitud producirá errores con el código de estado 401. Consulte Autenticar con Azure AD (aplicaciones empresariales).

Encabezado Accept application/json
Ámbito de permisos Notes.ReadWrite.CreatedByApp, Notes.ReadWrite o Notes.ReadWrite.All


Datos de respuesta Descripción
Código correcto Un código de estado HTTP 204.
Errores Si se produce un error en la solicitud, la API devuelve errors en el objeto @api.diagnostics en el cuerpo de la respuesta.
Encabezado X-CorrelationId GUID que identifica la solicitud de forma única. Puede usar este valor, además del valor del encabezado de fecha, al trabajar con el soporte técnico de Microsoft para solucionar problemas.

Insertar secciones

Utilice copySectionsToContentLibrary para copiar secciones específicas de blocs de notas de Office 365 e insertarlos en la Biblioteca de contenido de un bloc de notas de clase. Una Biblioteca de contenido es un grupo de secciones dentro del bloc de notas de clase que tiene permisos de Lectura/Escritura para los profesores y permisos de Lectura para los alumnos.

Para insertar secciones en un bloc de notas de clase, envíe una solicitud POST al extremo copySectionsToContentLibrary del bloc de notas de clase de destino. Por ejemplo:

POST ../classNotebooks/{notebook-id}/copySectionsToContentLibrary

En el cuerpo del mensaje, envíe un objeto JSON con el parámetro sectionIds.

{
    "sectionIds": [
        "section1-id", 
        "section2-id",
        ...
    ]
}
Parámetro Descripción
sectionIds Una matriz que contiene los id. de las secciones que desea insertar en el bloc de notas de clase.

El usuario debe tener acceso a bloc de notas y secciones de destino (propio o compartido). Todos los destinos deben estar en la misma cuenta empresarial.

Ejemplo

La siguiente solicitud inserta dos secciones en la Biblioteca de contenido del bloc de notas de clase especificado.

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"
    ]
}

Información de la solicitud y la respuesta

La siguiente información se aplica a las solicitudes POST /copySectionsToContentLibrary.

Datos de solicitud Descripción
Protocolo Todas las solicitudes usan el protocolo HTTPS SSL/TLS.
Encabezado Authorization

Bearer {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, la solicitud producirá errores con el código de estado 401. Consulte Autenticar con Azure AD (aplicaciones empresariales).

Encabezado Content-Type application/json
Encabezado Accept application/json
Ámbito de permisos Notes.ReadWrite.CreatedByApp, Notes.ReadWrite o Notes.ReadWrite.All


Datos de respuesta Descripción
Código de correcto Un código de estado HTTP 201.
Errores Si se produce un error en la solicitud, la API devuelve errores en el cuerpo de la respuesta.
Encabezado X-CorrelationId GUID que identifica la solicitud de forma única. Puede usar este valor, además del valor del encabezado de fecha, al trabajar con el soporte técnico de Microsoft para solucionar problemas.

Distribuir la página a alumnos

Para distribuir una página de OneNote a un alumno, envíe una solicitud POST al punto de conexión classNotebooks. La siguiente acción solo está disponible para los blocs de notas de grupo unificado.

POST ../groups/{id}/notes/classnotebooks/{id}/pages('{id}')/Microsoft.OneNote.Api.DistributePageToStudent

En el cuerpo del mensaje, envíe un objeto JSON con los parámetros de DistributePageToStudent.

{
"studentUserPrincipalName": "alias@tenant",
"lockStartDate": "DateTimeOffset",
"targetSectionName": "section-name",
"assignmentId":"assignment-id",
"ignoreIfStudentPageExists":true
}
Parámetro Descripción
studentUserPrincipalName El nombre principal de usuario de Office 365. Para obtener más información acerca de los usuarios, vea la documentación de la API Azure AD Graph.
lockStartDate El bloqueo de la fecha de inicio de tipo DateTimeOffset que se va a establecer en la página distribuida. La página del alumno será de sólo lectura cuando la hora alcance la fecha de inicio de bloqueo. Para obtener más información acerca de bloqueo de página, vea Usar el bloqueo de páginas en el bloc de notas de clase.
targetSectionName La página se copia en la sección del alumno. Si no existe la sección del alumno, se creará.
assignmentId (opcional) El identificador de asignación debe establecerse en la página distribuida. Si se establece la propiedad, debe haber una página publicada para el identificador de una asignación y la lockStartDate sería la asignación de fecha de vencimiento.
ignoreIfStudentPageExists true para omitir la copia de la página si no hay otra página con el mismo identificador de asignación.


Datos de respuesta Descripción
Código de correcto Un código de estado HTTP 200.
Cuerpo de la respuesta Una representación de OData de los resultados en formato JSON. El valor devuelto es el identificador de página de alumno que se copió.
Errores Si se produce un error en la solicitud, la API devuelve errores en el objeto @api.diagnostics en el cuerpo de la respuesta.
Encabezado X-CorrelationId GUID que identifica la solicitud de forma única. Puede usar este valor, además del valor del encabezado de fecha, al trabajar con el soporte técnico de Microsoft para solucionar problemas.

Ejemplo

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
}

Actualizar la fecha de inicio de bloqueo de página

Para actualizar la fecha de inicio de bloqueo de una página de OneNote, envíe una solicitud PATCH al punto de conexión de las páginas.

Para obtener más información acerca de bloqueo de página, vea Usar el bloqueo de páginas en el bloc de notas de clase.

PATCH ../pages/{page-id}

En el cuerpo del mensaje, envíe un objeto JSON con los siguientes datos de la solicitud.

Datos de solicitud Descripción
blockEditsInClientStartDate Una estructura DateTimeOffset de cuándo se bloqueará la página para su edición. Para borrar la fecha de inicio de bloqueo, establezca la propiedad en null; por lo tanto, se quitará de la página.


Datos de respuesta Descripción
Código correcto Un código de estado HTTP 204 No hay contenido.
Errores Si se produce un error en la solicitud, la API devuelve errores en el objeto @api.diagnostics en el cuerpo de la respuesta.
Encabezado X-CorrelationId GUID que identifica la solicitud de forma única. Puede usar este valor, además del valor del encabezado de fecha, al trabajar con el soporte técnico de Microsoft para solucionar problemas.

Ejemplo

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

Obtener la fecha de inicio de bloqueo de página

Para obtener la fecha de inicio de bloqueo que se establece en la página, envíe una solicitud GET al punto de conexión de las páginas de API para obtener la página (metadatos) con un parámetro de consulta blockEditsInClientStartDate=true.

GET ../pages/{page-id}?blockEditsInClientStartDate=true

Para obtener más información acerca de cómo consultar una página, vea Rutas de acceso de recursos para solicitudes GET.

Para obtener más información acerca de bloqueo de página, vea Usar el bloqueo de páginas en el bloc de notas de clase.

Datos de respuesta Descripción
Código de correcto Un código de estado HTTP 200.
Cuerpo de la respuesta Una representación de OData de la página en formato JSON. Incluye el valor de la propiedad blockEditsInClientStartDate.
Errores Si se produce un error en la solicitud, la API devuelve errores en el objeto @api.diagnostics en el cuerpo de la respuesta.
Encabezado X-CorrelationId GUID que identifica la solicitud de forma única. Puede usar este valor, además del valor del encabezado de fecha, al trabajar con el soporte técnico de Microsoft para solucionar problemas.

Ejemplo

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

Respuesta

{
…
“blockEditsInClientStartDate”:”1985-02-25T23:17:16Z”
…
}

Actualizar pertenencia

UpdateMembership sincroniza un bloc de notas de clase predeterminado de un grupo unificado con su pertenencia.

Los propietarios del grupo unificado se agregarán como profesores a un bloc de notas de clase y los miembros se agregarán como alumnos a un bloc de notas de clase.

Para sincronizar la pertenencia del bloc de notas de clase predeterminada con un grupo unificado, envíe una solicitud POST al punto de conexión classNotebooks. La siguiente acción solo está disponible para el bloc de notas de grupo unificado de forma predeterminada.

POST ../classnotebooks/Microsoft.OneNote.Api.UpdateMembership
Datos de respuesta Descripción
Código correcto Un código de estado HTTP 204 No hay contenido.
Errores Si se produce un error en la solicitud, la API devuelve errores en el objeto @api.diagnostics en el cuerpo de la respuesta.
Encabezado X-CorrelationId GUID que identifica la solicitud de forma única. Puede usar este valor, además del valor del encabezado de fecha, al trabajar con el soporte técnico de Microsoft para solucionar problemas.

Ejemplo

El ejemplo siguiente sincroniza el bloc de notas de clase predeterminado de un id. de grupo unificado.

Solicitud

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

Reparación de un bloc de notas de clase

Para reparar un bloc de notas de clase, envíe una solicitud POST al punto de conexión classNotebooks.

POST ../classnotebooks/{notebook-id}/Microsoft.OneNote.Api.RepairNotebook

La acción de oData lee la lista de alumnos y profesores de los metadatos del bloc de notas de clase. A continuación, vuelve a aplicar los permisos de los alumnos a sus grupos de sección, _Content Library y _Collaboration Space. ITambién vuelve a aplicar los permisos de los profesores a los grupos de sección Students, _Content Library, _Collaboration Space, y _teacher only.

Para los grupos unificados, no se actualiza la pertenencia a grupos. Para ello, use la acción UpdateMembership en su lugar.

POST ../classnotebooks/{notebook-id}/Microsoft.OneNote.Api.RepairNotebook
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
Datos de respuesta Descripción
Código correcto Un código de estado HTTP 204 No hay contenido.
Errores Si se produce un error en la solicitud, la API devuelve errores en el objeto @api.diagnostics en el cuerpo de la respuesta.
Encabezado X-CorrelationId GUID que identifica la solicitud de forma única. Puede usar este valor, además del valor del encabezado de fecha, al trabajar con el soporte técnico de Microsoft para solucionar problemas.

Ejemplo

POST https://www.onenote.com/api/v1.0/me/notes/classnotebooks/1-b60795e6-0345-4893-a878-ce365d246651/Microsoft.OneNote.Api.RepairNotebook

Construir la URL raíz del servicio de OneNote

La dirección URL raíz del servicio 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.

  • Use v1.0 para código de producción estable.

  • Use beta para probar una característica que esté en desarrollo. Las características y la funcionalidad de la versión beta pueden cambiar, por lo que no se debe usar en el 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.

    • Use users/{id} para contenido de OneNote que el usuario especificado (en la URL) compartió 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.

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

  • Blocs de notas de grupos unificados

    • Los grupos unificados (también denominados grupos de Office 365) forman 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 unificados son el único tipo de grupo compatible. 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

Respuesta de ejemplo

{"@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 del 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.

Vea también