Como trabalhar com blocos de anotações de classe

Aplica-se aos: Blocos de anotações corporativos no Office 365

Escolas, faculdades e universidades em todo o mundo usam blocos de anotações de classe para ajudar a promover a produtividade, o compromisso e a colaboração. Você pode usar blocos de anotações de classe para cada aula, projeto, semestre e tarefa.

Você pode usar o ponto de extremidade de classNotebooks para executar tarefas comuns de blocos de anotações de classe, como criar blocos de anotações de classe e adicionar ou remover alunos.

Observação

A API do OneNote fornece o ponto de extremidade de classNotebooks para operações específicas para blocos de anotações de classe.

Construção do URI de solicitação

  1. Para construir o URI de solicitação, inicie com a URL raiz do serviço para a sua plataforma:

    Blocos de anotações no OneDrive for Business

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

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

    Blocos de anotações do site do SharePoint

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

    Blocos de anotações de grupo unificados

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

  1. Acrescente o ponto de extremidade classNotebooks, seguido de um caminho de recurso, conforme necessário:

    Criação de blocos de anotações de classe

    ../classNotebooks[?omkt,sendemail]

    Atualizar um bloco de anotações de classe

    ../classNotebooks/{notebook-id}

    Obter um ou mais blocos de anotações de classe

    ../classNotebooks

    ../classNotebooks/{notebook-id}

    Excluir um bloco de anotações de classe

    ../classNotebooks/{notebook-id}

    Adicionar alunos ou professores

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

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

    Remover alunos ou professores

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

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

    Inserir seções

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

Seu URI completo da solicitação será parecido com estes exemplos:

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

Observação

Saiba mais sobre a URL raiz de serviço.

Criação de blocos de anotações de classe

Para criar um bloco de anotações de classe, envie uma solicitação POST para o ponto de extremidade de classNotebooks.

POST ../classNotebooks[?omkt,sendemail]

No corpo da mensagem, envie um objeto JSON com os parâmetros de criação do bloco de anotações de classe.

{
    "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 Descrição
name O nome do bloco de anotações.
studentSections Uma matriz contendo um ou mais nomes de seção. Essas seções são criadas no grupo de seções de cada aluno.
teachers Uma matriz contendo um ou mais objetos de segurança.
alunos Uma matriz contendo um ou mais objetos de segurança. Um grupo de seções é criado para cada aluno.
hasTeacherOnlySectionGroup true para criar um grupo de seções Somente para professores, que é visível apenas para professores.
omkt Parâmetro de consulta de URL que especifica o idioma do bloco de anotações. O padrão é en-us. Exemplo: ?omkt=es-es
sendemail Parâmetro de consulta de URL que especifica se é necessário enviar uma notificação por email quando o bloco de anotações é criado para os professores e alunos atribuídos ao bloco de anotações. O padrão é false.

Professores e alunos são representados por objetos de segurança, que contêm as seguintes propriedades:

Parâmetro Descrição
id O nome UPN do Office 365.

Confira a Documentação da API do Azure AD Graph para saber mais sobre usuários e grupos.
principalType Person ou Group

Idiomas compatíveis

Você pode usar o omkt={language-code} Parâmetro de consulta de URL para criar um bloco de anotações de classe em um idioma específico. Por exemplo:

POST ../classNotebooks?omkt=de-de

Os seguintes códigos de idioma são suportados. O padrão é en-us.

Código Idioma
bg-bg Български (България)
cs-cz Čeština (Česká republika)
da-dk Dansk (Dinamarca)
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 繁體中文 (台灣)

Exemplo

A solicitação a seguir cria um bloco de anotações de classe chamado Matemática 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
}

Isso cria um bloco de anotações de classe com quatro grupos de seções de alunos, cada um contendo uma seção de folhetos, anotações de aula, lição de casa e questionários. O grupo de seções criado para cada aluno é acessível apenas pelo aluno e pelo professor. Também cria um grupo de seções Somente para professores, visível apenas para o professor. O parâmetro de consulta sendemail=true especifica o envio de uma notificação por email para o professor e alunos quando o bloco de anotações é criado.

Informações de solicitação e resposta

As informações a seguir aplicam-se às solicitações POST /classNotebooks.

Dados da solicitação Descrição
Protocolo Todas as solicitações usam o protocolo HTTPS de SSL/TLS.
Cabeçalho de autorização

Bearer {token}, onde {token} é um token de acesso do OAuth 2.0 válido para o aplicativo registrado.

Se ausente ou inválido, a solicitação falhará com um código de status 401. Confira Autenticar usando o Azure AD (aplicativos para empresas).

Cabeçalho Content-Type application/json
Cabeçalho Accept application/json
Escopo de permissão Notes.ReadWrite.CreatedByApp, Notes.ReadWrite ou Notes.ReadWrite.All


Dados da resposta Descrição
Código de êxito Um código de status HTTP 201.
Corpo da resposta Uma representação OData do novo bloco de anotações no formato JSON.

Além das propriedades do bloco de anotações regular, os blocos de anotações de classe também apresentam as seguintes propriedades:
  • studentSections. As seções dos alunos nos blocos de anotações.
  • teachers. Os professores que podem acessar o bloco de anotações.
  • alunos. Os alunos que podem acessar o bloco de anotações.
  • hasTeacherOnlySectionGroup. true se o bloco de anotações contiver um grupo de seções Somente para professores, caso contrário false.
Erros Se a solicitação falhar, a API retornará erros no objeto @api.diagnostics no corpo da resposta.
Cabeçalho X-CorrelationId Um GUID que identifica de forma exclusiva a solicitação. Você pode usar esse valor juntamente com o valor do cabeçalho Date ao trabalhar com o suporte da Microsoft para solucionar problemas.

Atualização de blocos de anotações de classe

Para atualizar um bloco de anotações de classe, envie uma solicitação PATCH para o ponto de extremidade classNotebooks/{notebook-id}.

Observação

No momento, apenas a propriedade hasLeaderOnlySectionGroup pode ser atualizada em uma solicitação PATCH.

PATCH ../classNotebooks/{notebook-id}

No corpo da mensagem, envie um objeto JSON com o parâmetro de atualização.

{
    "hasTeacherOnlySectionGroup": true
}
Parâmetro Descrição
hasTeacherOnlySectionGroup true para criar um grupo de seções Somente para professores, visível apenas para professores. false não é suportado.

Veja estes métodos para outras formas de alterar os blocos de anotações de classe: Adicionar alunos ou professores, Remover alunos ou professores, Inserir seções.

Exemplo

A solicitação a seguir adiciona um grupo de seções Somente para professores ao bloco de anotações de classe especificado.

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

{
    "hasTeacherOnlySectionGroup": true
}

O novo grupo de seções Somente para professor é visível apenas para professores.

Informações de solicitação e resposta

As informações a seguir aplicam-se às solicitações PATCH ../classNotebooks/{notebook-id}.

Dados da solicitação Descrição
Protocolo Todas as solicitações usam o protocolo HTTPS de SSL/TLS.
Cabeçalho de autorização

Bearer {token}, onde {token} é um token de acesso do OAuth 2.0 válido para o aplicativo registrado.

Se ausente ou inválido, a solicitação falhará com um código de status 401. Confira Autenticar usando o Azure AD (aplicativos para empresas).

Cabeçalho Content-Type application/json
Cabeçalho Accept application/json
Escopo de permissão Notes.ReadWrite.CreatedByApp, Notes.ReadWrite ou Notes.ReadWrite.All


Dados da resposta Descrição
Código de êxito Um código de status HTTP 204.
Erros Se a solicitação falhar, a API retornará erros no corpo de resposta.
Cabeçalho X-CorrelationId Um GUID que identifica de forma exclusiva a solicitação. Você pode usar esse valor juntamente com o valor do cabeçalho Date ao trabalhar com o suporte da Microsoft para solucionar problemas.

Obter blocos de anotações de classe

Para obter um ou mais blocos de anotações, envie uma solicitação GET para o ponto de extremidade de classNotebooks.

Obter um ou mais blocos de anotações de classe

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

Obter um bloco de anotações de classe específico

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

Os blocos de anotações podem expandir as propriedades teachers e students. A ordem de classificação padrão é name asc.

Blocos de anotações de classe também são devolvidos para solicitações GET /notebooks, mas os resultados não incluem propriedades específicas do bloco de anotações de classe.

Exemplo

A solicitação a seguir obtém blocos de anotações de classe criados a partir de 1º de janeiro de 2016.

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

Para saber mais sobre como obter blocos de anotações de classe, incluindo exemplos e opções de sequência de caracteres de consulta compatíveis, confira Obter conteúdo e estrutura do OneNote.

Informações de solicitação e resposta

As informações a seguir aplicam-se às solicitações GET /classNotebooks.

Dados da solicitação Descrição
Protocolo Todas as solicitações usam o protocolo HTTPS de SSL/TLS.
Cabeçalho de autorização

Bearer {token}, onde {token} é um token de acesso do OAuth 2.0 válido para o aplicativo registrado.

Se ausente ou inválido, a solicitação falhará com um código de status 401. Confira Autenticar usando o Azure AD (aplicativos para empresas).

Cabeçalho Accept application/json
Escopo de permissão Notes.Read, Notes.ReadWrite.CreatedByApp, Notes.ReadWrite, or Notes.ReadWrite.All


Dados da resposta Descrição
Código de êxito Um código de status de HTTP 200.
Corpo da resposta Uma representação OData dos blocos de anotações de classe no formato JSON.

Além das propriedades do bloco de anotações regular, os blocos de anotações de classe também apresentam as seguintes propriedades:
  • studentSections. As seções dos alunos nos blocos de anotações.
  • teachers. Os professores que podem acessar o bloco de anotações.
  • student. Os alunos que podem acessar o bloco de anotações.
  • hasTeacherOnlySectionGroup. true se o bloco de anotações contiver um grupo de seções Somente para professores, caso contrário false.
Erros Se a solicitação falhar, a API retornará erros no objeto @api.diagnostics no corpo da resposta.
Cabeçalho X-CorrelationId Um GUID que identifica de forma exclusiva a solicitação. Você pode usar esse valor juntamente com o valor do cabeçalho Date ao trabalhar com o suporte da Microsoft para solucionar problemas.

Excluir blocos de anotações de classe

Para excluir um bloco de anotações de classe, envie uma solicitação DELETE ao ponto de extremidade de classNotebooks / {notebook-id}.

DELETE ../classNotebooks/{notebook-id}

Exemplo

Exemplo

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

Informações de solicitação e resposta

As informações a seguir aplicam-se às solicitações DELETE ../classNotebooks/{notebook-id}.

Dados da solicitação Descrição
Protocolo Todas as solicitações usam o protocolo HTTPS de SSL/TLS.
Cabeçalho de autorização

Bearer {token}, onde {token} é um token de acesso do OAuth 2.0 válido para o aplicativo registrado.

Se ausente ou inválido, a solicitação falhará com um código de status 401. Confira Autenticar usando o Azure AD (aplicativos para empresas).

Cabeçalho Accept application/json
Escopo de permissão Notes.ReadWrite.CreatedByApp, Notes.ReadWrite ou Notes.ReadWrite.All


Dados da resposta Descrição
Código de êxito Um código de status HTTP 204.
Erros Se a solicitação falhar, a API retornará erros no corpo de resposta.
Cabeçalho X-CorrelationId Um GUID que identifica de forma exclusiva a solicitação. Você pode usar esse valor com o valor do cabeçalho de Data ao trabalhar com o suporte da Microsoft para solucionar problemas.

Adicionar alunos e professores

Adicionar professores e alunos dá acesso ao bloco de notificações de classe. Adicionar um aluno também cria um grupo de seções do aluno. Este grupo de seções só é acessível pelo aluno e pelo professor e contém as seções do aluno que são definidas para o bloco de anotações.

Para adicionar um aluno ou professor a um bloco de anotações de classe, envie uma solicitação POST para o ponto de extremidade apropriado.

Adicionar um aluno

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

Adicionar um professor

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

Envie um objeto de segurança JSON no corpo da mensagem. Você pode adicionar um aluno ou um professor por solicitação.

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

Professores e alunos são representados por objetos de segurança, que contêm as seguintes propriedades:

Parâmetro Descrição
id O nome UPN do Office 365. Confira a Documentação da API do Azure AD Graph para saber mais sobre usuários e grupos.
principalType Person ou Group

Exemplo

A solicitação a seguir adiciona um professor ao bloco de anotações de classe 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"
}

Informações de solicitação e resposta

As informações a seguir aplicam-se às solicitações POST /students e POST /teachers.

Dados da solicitação Descrição
Protocolo Todas as solicitações usam o protocolo HTTPS de SSL/TLS.
Cabeçalho de autorização

Bearer {token}, onde {token} é um token de acesso do OAuth 2.0 válido para o aplicativo registrado.

Se ausente ou inválido, a solicitação falhará com um código de status 401. Confira Autenticar usando o Azure AD (aplicativos para empresas).

Cabeçalho Content-Type application/json
Cabeçalho Accept application/json
Escopo de permissão Notes.ReadWrite.CreatedByApp, Notes.ReadWrite ou Notes.ReadWrite.All


Dados da resposta Descrição
Código de êxito Um código de status HTTP 201.
Corpo da resposta O aluno ou professor que foi adicionado.
Erros Se a solicitação falhar, a API retornará erros no objeto @api.diagnostics no corpo da resposta.
Cabeçalho X-CorrelationId Um GUID que identifica de forma exclusiva a solicitação. Você pode usar esse valor com o valor do cabeçalho de Data ao trabalhar com o suporte da Microsoft para solucionar problemas.

Remover alunos ou professores

A remoção de alunos e professores de um bloco de anotações de classe revoga seu acesso ao bloco de anotações, mas não exclui nenhum conteúdo.

Para adicionar um aluno ou professor a um bloco de anotações de classe, envie uma solicitação DELETE para o ponto de extremidade apropriado.

Remover um aluno

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

Remover um professor

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

Você pode remover um aluno ou um professor por solicitação.

Exemplo

A solicitação a seguir remove o aluno especificado do bloco de anotações de classe especificado.

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

Informações de solicitação e resposta

As informações a seguir aplicam-se às solicitações DELETE /students e DELETE /teachers.

Dados da solicitação Descrição
Protocolo Todas as solicitações usam o protocolo HTTPS de SSL/TLS.
Cabeçalho de autorização

Bearer {token}, onde {token} é um token de acesso do OAuth 2.0 válido para o aplicativo registrado.

Se ausente ou inválido, a solicitação falhará com um código de status 401. Confira Autenticar usando o Azure AD (aplicativos para empresas).

Cabeçalho Accept application/json
Escopo de permissão Notes.ReadWrite.CreatedByApp, Notes.ReadWrite ou Notes.ReadWrite.All


Dados da resposta Descrição
Código de êxito Um código de status HTTP 204.
Erros Se a solicitação falhar, a API retornará erros no objeto @api.diagnostics no corpo da resposta.
Cabeçalho X-CorrelationId Um GUID que identifica de forma exclusiva a solicitação. Você pode usar esse valor com o valor do cabeçalho de Data ao trabalhar com o suporte da Microsoft para solucionar problemas.

Inserir seções

Use copySectionsToContentLibrary para copiar seções específicas de blocos de anotações do Office 365 e inseri-las na biblioteca de conteúdo de um bloco de anotações de classe. Uma biblioteca de conteúdo é um grupo de seções dentro do bloco de anotações de classe que tem permissões de leitura/gravação para professores e permissão de leitura para os alunos.

Para inserir seções em um bloco de anotações de classe, envie uma solicitação POST para o ponto de extremidade de copySectionsToContentLibrary do bloco de anotações de classe de destino. Por exemplo:

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

No corpo da mensagem, envie um objeto JSON com o parâmetro sectionIds.

{
    "sectionIds": [
        "section1-id", 
        "section2-id",
        ...
    ]
}
Parâmetro Descrição
sectionIds Uma matriz que contém as IDs das seções que você deseja inserir no bloco de anotações de classe.

O usuário deve ter acesso ao bloco de anotações e seções de destino (próprios ou compartilhados). Todos os destinos devem estar no mesmo locatário.

Exemplo

A solicitação a seguir insere duas seções na Biblioteca de Conteúdo do bloco de anotações de classe 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"
    ]
}

Informações de solicitação e resposta

As informações a seguir aplicam-se às solicitações POST /copySectionsToContentLibrary.

Dados da solicitação Descrição
Protocolo Todas as solicitações usam o protocolo HTTPS de SSL/TLS.
Cabeçalho de autorização

Bearer {token}, onde {token} é um token de acesso do OAuth 2.0 válido para o aplicativo registrado.

Se ausente ou inválido, a solicitação falhará com um código de status 401. Confira Autenticar usando o Azure AD (aplicativos para empresas).

Cabeçalho Content-Type application/json
Cabeçalho Accept application/json
Escopo de permissão Notes.ReadWrite.CreatedByApp, Notes.ReadWrite ou Notes.ReadWrite.All


Dados da resposta Descrição
Código de êxito Um código de status HTTP 201.
Erros Se a solicitação de criação falhar, a API retornará erros no corpo de resposta.
Cabeçalho X-CorrelationId Um GUID que identifica de forma exclusiva a solicitação. Você pode usar esse valor juntamente com o valor do cabeçalho Date ao trabalhar com o suporte da Microsoft para solucionar problemas.

Distribuição de página para o aluno

Para distribuir a uma página do OneNote para um aluno, envie uma solicitação POST para o ponto de extremidade de classNotebooks. A seguinte ação só está disponível para os blocos de anotações de grupo unificados.

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

No corpo da mensagem, envie um objeto JSON com os parâmetros DistributePageToStudent.

{
"studentUserPrincipalName": "alias@tenant",
"lockStartDate": "DateTimeOffset",
"targetSectionName": "section-name",
"assignmentId":"assignment-id",
"ignoreIfStudentPageExists":true
}
Parâmetro Descrição
studentUserPrincipalName O nome UPN do Office 365. Para saber mais sobre usuários, confira a Documentação da API do Azure AD Graph.
lockStartDate O bloqueio de data de início do tipo DateTimeOffset a ser definida na página distribuída. A página do aluno terá acesso somente para leitura quando a data de início de bloqueio for atingida. Para obter mais informações sobre o bloqueio de página, confira Utilização do bloqueio de página em blocos de anotações de classe.
targetSectionName A página é copiada para a seção do aluno. Se a seção do aluno não existir, ela será criada.
assignmentId (opcional) A identificação da atribuição a ser definida na página distribuída. Se a propriedade estiver definida, deve haver uma página publicada para um id de atribuição e o lockStartDate deve ser a data de conclusão da atribuição.
ignoreIfStudentPageExists true para ignorar a cópia da página se houver outra página com o mesmo id de atribuição.


Dados da resposta Descrição
Código de êxito Um código de status de HTTP 200.
Corpo da resposta Uma representação OData do resultado no formato JSON. O valor retornado é o id da página do aluno que foi copiada.
Erros Se a solicitação falhar, a API retornará erros no objeto @api.diagnostics no corpo da resposta.
Cabeçalho X-CorrelationId Um GUID que identifica de forma exclusiva a solicitação. Você pode usar esse valor juntamente com o valor do cabeçalho Date ao trabalhar com o suporte da Microsoft para solucionar problemas.

Exemplo

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
}

Atualizar a data de início de bloqueio de página

Para atualizar a data de início do bloqueio de uma página do OneNote, envie uma solicitação de PATCH para o ponto de extremidade de páginas.

Para obter mais informações sobre o bloqueio de página, confira Utilização do bloqueio de página em blocos de anotações de classe.

PATCH ../pages/{page-id}

No corpo da mensagem, envie um objeto JSON com os seguintes dados de solicitação.

Dados da solicitação Descrição
blockEditsInClientStartDate Uma estrutura DateTimeOffset de quando a página será bloqueada para edição. Para limpar a data de início de bloqueio, defina a propriedade como null; assim ela será descartada da página.


Dados da resposta Descrição
Código de êxito Um código de status HTTP 204 Nenhum conteúdo.
Erros Se a solicitação falhar, a API retornará erros no objeto @api.diagnostics no corpo da resposta.
Cabeçalho X-CorrelationId Um GUID que identifica de forma exclusiva a solicitação. Você pode usar esse valor juntamente com o valor do cabeçalho Date ao trabalhar com o suporte da Microsoft para solucionar problemas.

Exemplo

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

Obter a data de início de bloqueio de página

Para obter a data de início de bloqueio que está definida na página, envie uma solicitação GET para a API do ponto de extremidade de páginas para obter page(metadata) com um parâmetro de consulta de páginas blockEditsInClientStartDate=true.

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

Para obter mais informações sobre como consultar uma página, confira Caminhos de recurso para solicitações GET.

Para obter mais informações sobre o bloqueio de página, confira Utilização do bloqueio de página em blocos de anotações de classe.

Dados da resposta Descrição
Código de êxito Um código de status de HTTP 200.
Corpo da resposta Uma representação OData da página no formato JSON. Ela inclui o valor da propriedade blockEditsInClientStartDate.
Erros Se a solicitação falhar, a API retornará erros no objeto @api.diagnostics no corpo da resposta.
Cabeçalho X-CorrelationId Um GUID que identifica de forma exclusiva a solicitação. Você pode usar esse valor juntamente com o valor do cabeçalho Date ao trabalhar com o suporte da Microsoft para solucionar problemas.

Exemplo

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

Resposta

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

Atualizar associação

UpdateMembership sincroniza um bloco de anotações de classe padrão de um grupo unificado com a sua associação.

Proprietários do grupo unificado serão adicionados como professores para um bloco de anotações de classe, e membros serão adicionados como alunos para um bloco de anotações de classe.

Para sincronizar a associação de bloco de anotações de classe padrão com um grupo unificado, envie uma solicitação POST para o ponto de extremidade classNotebooks. A seguinte ação só está disponível para o bloco de anotações padrão do grupo unificado.

POST ../classnotebooks/Microsoft.OneNote.Api.UpdateMembership
Dados da resposta Descrição
Código de êxito Um código de status HTTP 204 Nenhum conteúdo.
Erros Se a solicitação falhar, a API retornará erros no objeto @api.diagnostics no corpo da resposta.
Cabeçalho X-CorrelationId Um GUID que identifica de forma exclusiva a solicitação. Você pode usar esse valor juntamente com o valor do cabeçalho Date ao trabalhar com o suporte da Microsoft para solucionar problemas.

Exemplo

O exemplo a seguir sincroniza o bloco de anotações de classe padrão do id de um grupo unificado.

Solicitação

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

Reparar um bloco de anotações de classe

Para reparar um bloco de anotações de classe, envie uma solicitação POST para o ponto de extremidade de classNotebooks.

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

A ação de odata lê a lista de alunos e professores dos metadados do bloco de anotações da classe. Ela então reaplica as permissões dos alunos aos seus grupos de seção, _Content Library e _Collaboration Space. Ele também reaplica as permissões dos professores para Students, _Content Library, _Collaboration Space e grupos de seção _teacher only.

Para grupos unificados, ela não atualizar a associação do grupo; para isso, use a ação UpdateMembership.

POST ../classnotebooks/{notebook-id}/Microsoft.OneNote.Api.RepairNotebook
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
Dados da resposta Descrição
Código de êxito Um código de status HTTP 204 Nenhum conteúdo.
Erros Se a solicitação falhar, a API retornará erros no objeto @api.diagnostics no corpo da resposta.
Cabeçalho X-CorrelationId Um GUID que identifica de forma exclusiva a solicitação. Você pode usar esse valor juntamente com o valor do cabeçalho Date ao trabalhar com o suporte da Microsoft para solucionar problemas.

Exemplo

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

Construção da URL raiz de serviço do OneNote

A URL raiz do serviço do OneNote usa o formato a seguir para todas as chamadas para a API do OneNote.

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

O segmento version na URL representa a versão da API do OneNote que você deseja usar.

  • Use v1.0 para o código de produção estável.

  • Use beta para experimentar um recurso que está em desenvolvimento. Os recursos e funcionalidades na versão beta podem ser alterados, por isso, você não deve usá-los no código de produção.

O segmento location na URL representa a localização dos blocos de anotações que você deseja acessar:

  • Blocos de anotações no OneDrive for Business

    • Use me para conteúdos do OneNote pertencentes ao usuário atual.

    • Use users/{id} para o conteúdo do OneNote que o usuário especificado (na URL) compartilhou com o usuário atual. Use a API do Azure AD Graph para obter IDs de usuários.

  • Blocos de anotações do site do SharePoint

    • Sites de equipe e outros sites do SharePoint podem conter blocos de anotações do OneNote em suas bibliotecas de documentos.

    • Use myOrganization/siteCollections/{id}/sites/{id} para conteúdo do OneNote em um site no locatário no qual o usuário atual está conectado. Apenas o locatário atual é suportado, acessado com a palavra-chave myOrganization. Saiba como obter IDs de site.

  • Blocos de anotações de grupo unificados

    • Grupos unificados (também chamados de grupos do Office 365) fazem parte da experiência conectada do Office 365. Os membros do grupo podem compartilhar blocos de anotações, arquivos e emails.

    • Use myOrganization/groups/{id} para conteúdos do OneNote no grupo especificado do qual o usuário atual é membro. Grupos unificados são os únicos tipos de grupo com suporte. Use a API do Azure AD Graph para obter IDs de grupos.

Use o método FromUrl para obter o conjunto de sites e os IDs dos sites

Você pode usar o método FromUrl para obter o conjunto de sites e os IDs dos sites para uma URL absoluta do site especificado. Você deve fazer essa chamada somente quando necessário e armazenar os valores para uso futuro.

O formato da URL do site depende da sua configuração, por exemplo https://domain.sharepoint.com/site-a ou https://domain.com/sites/site-a.

Exemplo de solicitação

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

Authorization: Bearer {token}

Accept: application/json

Resposta de exemplo

{"@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 uso de FromUrl e como trabalhar com os blocos de anotações do site do SharePoint:

  • Você só pode criar blocos de anotações, grupos de seções, seções e páginas do OneNote em sites que tenham uma biblioteca de documentos padrão. (Alguns modelos de site não criam uma biblioteca de documentos padrão.) No entanto, as solicitações GET retornam o conteúdo do OneNote de todas as bibliotecas de documentos no site.

  • A URL raiz do serviço do OneNote é imutável, o que significa que você não pode usar um caminho de site da API REST do SharePoint e depois adicionar o ponto de extremidade notes a ele.

  • O usuário em nome do qual você está fazendo a chamada deve ser membro do site.

  • O método FromUrl funciona apenas com sites que foram indexados. Pode demorar várias horas para indexar um site novo.

Confira também