Provisionamento de blocos de anotações escolares e sites em escala usando APIs do Microsoft Graph

À medida que a Microsoft melhora a sua postura de segurança em todos os produtos e serviços, houve alterações recentes na funcionalidade de API que podem afetar os clientes que anteriormente dependiam de permissões apenas de aplicação para aprovisionar Blocos de Notas Escolares através de APIs.

Ainda pode aprovisionar sites e blocos de notas à escala através das APIs do Microsoft Graph ao seguir um método alternativo suportado. Este artigo descreve os passos e fornece ligações para documentação relevante.

Descrição geral

Para continuar a aprovisionar sites do SharePoint e Blocos de Notas Escolares à escala:

  1. Usar a API CreateEducationClass ao criar novos sites (um grupo/site por classe)
  2. Para sites pré-existentes, utilize a API CreatePermission do SharePoint para conceder permissões de AppId no Blocos de Notas Escolares do OneNote a esse site.
  3. Assim que os passos acima estiverem concluídos, a funcionalidade existente do Blocos de Notas Escolares deverá ser restaurada e as chamadas de API como GetClassNotebooks, AddTeacher e addStudent deverão funcionar conforme esperado.

Instruções passo a passo

1. Criar novos sites com CreateEducationClass

Use a API CreateEducationClass para criar um novo Grupo do Microsoft 365 e um site do SharePoint associado para cada classe.

  • Esta API fornece o Grupo, Site e recursos associados numa chamada.
  • Após a criação do site, pode utilizar as APIs existentes para gerir blocos de notas e permissões.

Referência: Documentação da API CreateEducationClass

2. Conceder permissões a sites existentes

Para Grupos ou Sites existentes, tem de conceder explicitamente acesso à aplicação Blocos de Notas Escolares através do modelo de permissão Sites.Selected .

Permissões Necessárias

  • Acesso apenas a aplicações utilizando o âmbito Sites.Selected.
  • Conceda à aplicação OneNote da EDU controlo total do site.

Pedido de Exemplo

POST https://graph.microsoft.com/v1.0/sites/{sitesId}/permissions Content-Type: application/json { "roles": ["fullcontrol"], "grantedToIdentities": [{ "application": { "id": "13291f5a-59ac-4c59-b0fa-d1632e8f3292", //ID do Cliente da Aplicação de Destino "displayName": "EDU OneNote" //Nome a Apresentar da Aplicação de Destino } }] }

Referências:

Criar API de permissão

Programar Aplicações que utilizam Sites.Permissões selecionadas para sites do SPO

Blogue do Programador do Microsoft 365: O controlo do acesso de aplicações em coleções de sites do SharePoint específicas está agora disponível no Microsoft Graph

3. Utilizar APIs existentes para a Gestão de Blocos de Notas

Assim que as permissões estiverem configuradas corretamente, as funcionalidades existentes do Blocos de Notas Escolares, como as seguintes APIs, deverão continuar a funcionar como anteriormente:

  • GetClassNotebooks

  • AddTeacher

  • AddStudent

  • CriarClassNotebook

    • Nota: conforme descrito acima, para novos Grupos/Sites, use CreateEducationClass em vez disso