使用 Microsoft Graph API 大規模佈建課程筆記本和網站

隨著 Microsoft 增強其所有產品和服務的安全性態勢,API 功能最近也有一些 變更 ,可能會影響先前仰賴僅限應用程式權限來使用 API 佈建課程筆記本的客戶。

您仍然可以依照支援的替代方法,使用 Microsoft Graph API 大規模佈建網站和筆記本。 本文概述了這些步驟並提供相關文件的連結。

概觀

若要繼續大規模佈建課程筆記本和 SharePoint 網站:

  1. 建立新網站時,請使用 CreateEducationClass API (每個班級) 一個群組/網站
  2. 對於預先存在的網站,請使用 SharePoint CreatePermission API 將 OneNote 課程筆記本 AppId 權限授與該網站。
  3. 上述步驟完成後,現有的課程筆記本功能應該會還原,而 GetClassNotebooksAddTeacheraddStudent 等 API 呼叫應該如預期般運作。

逐步指示

1. 使用 CreateEducationClass 建立新網站

使用 CreateEducationClass API 為每個班級建立新的 Microsoft 365 群組和相關聯的 SharePoint 網站。

  • 此 API 可在一次呼叫中佈建群組、網站和相關資源。
  • 建立網站之後,您可以使用現有的 API 來管理筆記本和權限。

參考: CreateEducationClass API 文件

2. 為現有網站授予權限

對於現有的群組或網站,您必須使用 Sites.Selected 權限模型明確授與課程筆記本應用程式存取權。

必要權限

  • 使用 Sites.Selected 範圍的僅限應用程式存取。
  • 將網站的完整控制權授予 EDU OneNote 應用程式。

範例請求

POST https://graph.microsoft.com/v1.0/sites/{sitesId}/permissions Content-Type: application/json { “roles”: [“fullcontrol”], “grantedToIdentities”: [{ “application”: { “id”: “13291f5a-59ac-4c59-b0fa-d1632e8f3292”, //目標應用程式的用戶端識別碼 “displayName”: “EDU OneNote” //目標應用程式的顯示名稱 } }] }

參考文獻:

建立權限 API

開發使用 Sites.SPO 網站的已選定權限的應用程式

Microsoft 365 開發人員部落格:現在可在 Microsoft Graph 中控制特定 SharePoint 網站集合上的應用程式存取權

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

正確設定權限之後,現有的課程筆記本功能(例如下列 API)應該會繼續像以前一樣運作:

  • GetClassNotebooks

  • AddTeacher

  • AddStudent

  • CreateClassNotebook

    • 注意:如前所述,針對新的群組/網站,請改用 CreateEducationClass