隨著 Microsoft 增強其所有產品和服務的安全性態勢,API 功能最近也有一些 變更 ,可能會影響先前仰賴僅限應用程式權限來使用 API 佈建課程筆記本的客戶。
您仍然可以依照支援的替代方法,使用 Microsoft Graph API 大規模佈建網站和筆記本。 本文概述了這些步驟並提供相關文件的連結。
概觀
若要繼續大規模佈建課程筆記本和 SharePoint 網站:
- 建立新網站時,請使用 CreateEducationClass API (每個班級) 一個群組/網站
- 對於預先存在的網站,請使用 SharePoint CreatePermission API 將 OneNote 課程筆記本 AppId 權限授與該網站。
- 上述步驟完成後,現有的課程筆記本功能應該會還原,而 GetClassNotebooks、 AddTeacher 和 addStudent 等 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” //目標應用程式的顯示名稱 } }] } |
|---|
參考文獻:
Microsoft 365 開發人員部落格:現在可在 Microsoft Graph 中控制特定 SharePoint 網站集合上的應用程式存取權
3. 使用現有的 API 進行筆記本管理
正確設定權限之後,現有的課程筆記本功能(例如下列 API)應該會繼續像以前一樣運作:
GetClassNotebooks
AddTeacher
AddStudent
CreateClassNotebook
- 注意:如前所述,針對新的群組/網站,請改用 CreateEducationClass