使用 Microsoft Graph API 大规模预配课堂笔记本和网站

随着 Microsoft 增强所有产品和服务的安全态势,API 功能最近发生了一些 更改 ,这可能会影响以前依赖仅限应用权限来使用 API 预配课堂笔记本的客户。

你仍然可以按照受支持的替代方法,使用 Microsoft Graph API 大规模预配网站和笔记本。 本文概述了这些步骤,并提供了相关文档的链接。

概述

继续大规模预配课堂笔记本和 SharePoint 网站:

  1. 创建新网站时使用 CreateEducationClass API (每个课堂) 一个组/网站
  2. 对于预先存在的网站,请使用 SharePoint CreatePermission API 向该网站授予 OneNote 课堂笔记本 AppId 权限。
  3. 完成上述步骤后,应还原现有课堂笔记本功能,并且 API 调用(如 GetClassNotebooksAddTeacheraddStudent )应按预期运行。

分步说明

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” //目标应用程序的显示名称 } }] }

参考资料:

创建权限 API

开发使用 Sites.Selected 的 SPO 站点权限的应用程序

Microsoft 365 开发人员博客:Microsoft Graph 现在提供对特定 SharePoint 网站集的应用访问控制

3. 使用现有 API 进行笔记本管理

正确配置权限后,现有课堂笔记本功能(如以下 API)应继续像以前一样工作:

  • GetClassNotebooks

  • AddTeacher

  • AddStudent

  • CreateClassNotebook

    • 注意:如上所述,对于新的组/网站,请改用 CreateEducationClass