Klasnotitieblokken en sites op schaal inrichten met behulp van Microsoft Graph API's

Aangezien Microsoft zijn beveiligingspostuur voor alle producten en services verbetert, zijn er recente wijzigingen in API-functionaliteit die van invloed kunnen zijn op klanten die voorheen afhankelijk waren van app-only machtigingen om klasnotitieblokken in te richten met behulp van API's.

U kunt nog steeds sites en notitieblokken op schaal inrichten met behulp van Microsoft Graph API's door een ondersteunde alternatieve methode te volgen. Dit artikel bevat een overzicht van de stappen en koppelingen naar relevante documentatie.

Overzicht

Ga als volgt te werk om klasnotitieblokken en SharePoint-sites op schaal te blijven inrichten:

  1. De CreateEducationClass-API gebruiken bij het maken van nieuwe sites (één groep/site per klas)
  2. Voor bestaande sites gebruikt u de SharePoint CreatePermission API om AppId-machtigingen voor OneNote Class Notebook aan die site te verlenen.
  3. Nadat de bovenstaande stappen zijn voltooid, moet de bestaande functionaliteit van Class Notebook zijn hersteld en zouden API-aanroepen zoals GetClassNotebooks, AddTeacher en addStudent moeten werken zoals verwacht.

Stapsgewijze instructies

1. Nieuwe sites maken met CreateEducationClass

Gebruik de CreateEducationClass-API om een nieuwe Microsoft 365-groep en bijbehorende SharePoint-site voor elke klas te maken.

  • Met deze API worden de groep, de site en de bijbehorende resources in één aanroep ingericht.
  • Nadat de site is gemaakt, kunt u bestaande API's gebruiken om notitieblokken en machtigingen te beheren.

Naslaginformatie: CreateEducationClass API-documentatie

2. Machtigingen verlenen aan bestaande sites

Voor bestaande groepen of sites moet u de app Class Notebook expliciet toegang verlenen via het machtigingsmodel Sites.Selected .

Vereiste machtigingen

  • App-only access using Sites.Selected scope.
  • Geef de EDU OneNote-app volledig beheer over de site.

Sample aanvraag

POST https://graph.microsoft.com/v1.0/sites/{sitesId}/permissions Content-Type: application/json { "roles": ["fullcontrol"], "grantedToIdentities": [{ "application": { "id": "13291f5a-59ac-4c59-b0fa-d1632e8f3292", //client-id van doeltoepassing "displayName": "EDU OneNote" //Weergavenaam van doeltoepassing } }] }

Referenties:

Machtigings-API maken

Ontwikkel toepassingen die gebruikmaken van Sites.Selected-machtigingen voor SPO-sites

Microsoft 365-blog voor ontwikkelaars: Het beheren van app-toegang tot specifieke SharePoint-siteverzamelingen is nu beschikbaar in Microsoft Graph

3. Bestaande API's gebruiken voor notitieblokbeheer

Als de machtigingen correct zijn geconfigureerd, moet bestaande Class Notebook-functionaliteit zoals de volgende API's blijven werken zoals voorheen:

  • GetClassNotebooks

  • AddTeacher

  • Student toevoegen

  • CreateClassNotebook

    • Opmerking: zoals hierboven is beschreven, gebruikt u voor nieuwe groepen/sites in plaats daarvan CreateEducationClass