教育机构具有自定义工具来更新作业和成绩数据。 例如,教师可能需要在学生提交作业之前对作业进行更新,或者通过使用自定义工具对成绩 (结果) 进行更改。
必须先获取相关的类和成员信息,然后才能更新数据。
注意: 可以使用 Graph 资源管理器 测试本文中提到的 教育 API 。
获取类和成员信息
所有作业和评分信息都是Microsoft Teams 团队的一部分。 可以使用以下 Teams API 获取有关课堂、成员和角色的信息, (学生或教师) :
- 列出 educationSchools 的类:返回教育租户中所有类的列表。
- 列出 educationClass 的成员:Lists有关特定类的成员的信息。
获取相关课堂和成员信息后,即可获取所需的作业和成绩信息。
分配和提交信息
所有作业和学生信息分别链接到课堂和提交信息。 以下 API 检索有关课堂分配和提交的信息:
- educationAssignment 资源类型:Lists课堂中可用于作业的所有方法。 用户可以获取作业中关联的所有 educationAssignmentResource 对象。
-
educationSubmission 资源类型:
submissionId为发布作业的每个学生创建 。 可以使用此 API 获取提交状态-例如,是否已提交和评分、学生) 提交的 (资源 ,以及提交的成绩 (结果) 。
更新成绩 (结果) 数据
用户可以更新 educationOutcome 对象的属性。 请求正文中未包含的现有属性将保留其以前的值。 只有教师才能执行此作。
以下示例介绍如何更新积分结果。
请求
下面为请求示例。
注意: 请求正文应仅包含需要更新的字段的值。
PATCH https://graph.microsoft.com/v1.0/education/classes/acdefc6b-2dc6-4e71-b1e9-6d9810ab1793/assignments/cf6005fc-9e13-44a2-a6ac-a53322006454/submissions/d1bee293-d8bb-48d4-af3e-c8cb0e3c7fe7/outcomes/9c0f2850-ff8f-4fd6-b3ac-e23077b59141
Content-type: application/json
{
"@odata.type":"#microsoft.graph.educationPointsOutcome",
"points":{
"@odata.type":"#microsoft.graph.educationAssignmentPointsGrade",
"points":85.0
}
}
响应
以下示例显示了 resposnse。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.type":"#microsoft.graph.educationPointsOutcome",
"id":"ea1351f6-ba33-4940-b2cb-6a7254af2dc8",
"lastModifiedBy":{
"user":{
"id":"9391878d-903c-406c-bb1c-0f17d00fd878"
}
},
"points":{
"gradedDateTime":"2019-07-15T22:35:48.2429387Z",
"points":85.0,
"gradedBy":{
"user":{
"id":"9391878d-903c-406c-bb1c-0f17d00fd878"
}
}
}
}
此请求在响应正文中返回更新的 educationOutcome 对象。
权限
更新分配中的数据需要委派权限和应用程序权限。 应用程序权限目前仅在 beta 版本中受支持。
注意: 由于学生和成绩信息是敏感数据,因此请务必验证需要哪些权限。