随着 Microsoft 增强所有产品和服务的安全态势,API 功能最近发生了一些 更改 ,这可能会影响以前依赖仅限应用权限来使用 API 预配课堂笔记本的客户。
你仍然可以按照受支持的替代方法,使用 Microsoft Graph API 大规模预配网站和笔记本。 本文概述了这些步骤,并提供了相关文档的链接。
概述
继续大规模预配课堂笔记本和 SharePoint 网站:
- 创建新网站时使用 CreateEducationClass API (每个课堂) 一个组/网站
- 对于预先存在的网站,请使用 SharePoint CreatePermission API 向该网站授予 OneNote 课堂笔记本 AppId 权限。
- 完成上述步骤后,应还原现有课堂笔记本功能,并且 API 调用(如 GetClassNotebooks、 AddTeacher 和 addStudent )应按预期运行。
分步说明
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”, //目标应用程序的客户端 ID “displayName”: “EDU OneNote” //目标应用程序的显示名称 } }] } |
|---|
参考资料:
开发使用 Sites.Selected 的 SPO 站点权限的应用程序
Microsoft 365 开发人员博客:Microsoft Graph 现在提供对特定 SharePoint 网站集的应用访问控制
3. 使用现有 API 进行笔记本管理
正确配置权限后,现有课堂笔记本功能(如以下 API)应继续像以前一样工作:
GetClassNotebooks
AddTeacher
AddStudent
CreateClassNotebook
- 注意:如上所述,对于新的组/网站,请改用 CreateEducationClass