使用 Microsoft Graph API 大規模配置類別筆記本與網站

隨著 Microsoft 在所有產品與服務中強化安全防護,近期 API 功能也發生 了一些變動 ,可能影響過去依賴僅應用程式權限來使用 API 配置類別筆記本的客戶。

你仍可透過支援的替代方法,使用 Microsoft Graph API 大規模配置網站與筆記型電腦。 本文概述步驟並提供相關文件連結。

概觀

要繼續大規模配置 Class Notebook 和 SharePoint 網站:

  1. 建立新網站時,請使用 CreateEducationClass API , (每堂課建立一個群組或網站)
  2. 對於既有網站,使用 SharePoint CreatePermission API 授權該網站使用 OneNote 課程筆記本 AppID 權限。
  3. 完成上述步驟後,現有的 Class Notebook 功能應恢復,API 呼叫如 GetClassNotebooksAddTeacheraddStudent 也應正常運作。

逐步教學

1. 使用 CreateEducationClass 建立新網站

使用 CreateEducationClass API 為每門課建立一個新的 Microsoft 365 群組及相關的 SharePoint 網站。

  • 此 API 在一次呼叫中提供群組、站點及相關資源。
  • 網站建立後,你可以利用現有的 API 來管理筆記本和權限。

參考資料: CreateEducationClass API 文件

2. 授權現有網站

對於現有的群組或網站,您必須透過 Sites.Selected 權限模式明確授權 Class Notebook 應用程式存取權限。

所需權限

  • 僅透過 Sites.Selected 範圍存取應用程式。
  • 將 EDU OneNote 應用程式完全控制權交給網站。

範例請求

POST https://graph.microsoft.com/v1.0/sites/{sitesId}/permissions 內容類型:application/json { “roles”: [“fullcontrol”], “grantedToIdentities”: [{ “application”: { “id”: “13291f5a-59ac-4c59-b0fa-d1632e8f3292”, //Target Application 的 Client ID “displayName”: “EDU OneNote” //Target Application 的顯示名稱 } }] }

參考資料:

建立權限 API

開發使用站點的應用程式。SPO 站點的選定權限

Microsoft 365 開發者部落格:Microsoft Graph 現在已提供對特定 SharePoint 網站集合的應用程式存取權限

3. 使用現有的 API 管理筆記本

一旦權限設定正確,現有的類別筆記本功能(如以下 API)應能繼續正常運作:

  • GetClassNotebooks

  • AddTeacher

  • AddStudent

  • CreateClassNotebook

    • 注意:如上所述,對於新成立的群組/網站,請改用 CreateEducationClass