教育机构提供自定义工具,供学生和用户查看有关或完成作业的详细信息。 可以使用 Microsoft Graph 中的教育 API 获取指向作业和提交的深层链接,以便在自定义工具中使用。 必须先获取相关的课堂和成员信息,然后才能获取作业和提交的链接。
注意: 可以使用 Graph 资源管理器 测试本文中提到的 教育 API 。
获取类和成员信息
所有作业和评分信息都是 Microsoft Teams 团队的一部分。 可以使用以下 Teams API 获取有关课堂、成员和角色的信息, (学生或教师) :
- 列出 educationSchools 的类:返回教育租户中所有类的列表。
- 列出 educationClass 的成员:Lists有关特定类的成员的信息。
获取相关课堂和成员信息后,即可获取所需的作业和成绩信息。
获取分配的深层链接
赋值 webUrl 属性返回所选分配的经过身份验证的深层链接。 如果用户在 Teams 中,则分配将使用此深层链接 URL 直接打开。
以下示例介绍如何获取给定分配的深层链接 URL。
请求
下面为请求示例。
GET https://graph.microsoft.com/v1.0/education/classes/f4a941ff-9da6-4707-ba5b-0eae93cad0b4/assignments/3c77de7f-539b-49e1-9c96-1274f2f0ee3b
响应
以下示例显示了相应的响应。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
Content-length: 279
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#education/classes('f4a941ff-9da6-4707-ba5b-0eae93cad0b4')/assignments/$entity",
"classId": "f4a941ff-9da6-4707-ba5b-0eae93cad0b4",
"displayName": "07.30 SubmissionsUploadResource Word2",
"closeDateTime": null,
"dueDateTime": "2021-08-01T06:59:00Z",
"assignDateTime": null,
"assignedDateTime": "2021-07-30T16:01:32.5518042Z",
"allowLateSubmissions": true,
"status": "assigned",
"notificationChannelUrl": null,
"webUrl": "https://teams.microsoft.com/l/entity/66aeee93-507d-479a-a3ef-8f494af43945/classroom?context=%7b%22subEntityId%22%3a%22%7b%5c%22version%5c%22%3a%5c%221.0%5c%22%2c%5c%22config%5c%22%3a%7b%5c%22classes%5c%22%3a%5b%7b%5c%22id%52navigate%5c%22%2c%5c%22view%5c%22%3a%5c%22assignment-viewer%5c%22%7d%22%2c%22channelId%22%3anull%7d",
"addedStudentAction": "none",
"id": "3c77de7f-539b-49e1-9c96-1274f2f0ee3b",
"instructions": {
"content": "<div style=\"font-family: inherit; font-size: inherit; color: inherit;\">upload a word document</div>",
"contentType": "html"
},
"grading": {
"@odata.type": "#microsoft.graph.educationAssignmentPointsGradeType",
"maxPoints": 10
},
"lastModifiedBy": {
"application": null,
"device": null,
"user": {
"id": "f3a5344e-dbde-48b0-be24-b5b62a243836",
"displayName": null
}
}
}
响应中的 webUrl 属性提供分配的深层链接 URL。
获取提交的深层链接
提交 webUrl 属性返回提交经过身份验证的深层链接。 目前,用于提交的 webUrl 属性仅在 beta 终结点中可用。
以下示例介绍如何获取给定提交的深层链接 URL。
请求
下面为请求示例。
Get https://graph.microsoft.com/beta/education/classes/2003c52e-807a-4186-9b49-60c573095461/assignments/8f5311bb-ee1e-4bf0-9827-3fd8c57bdde2/submissions/57ef8ee2-4755-4351-66d0-8e37192870a5
响应
以下示例显示了 resposnse。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#education/classes('2003c52e-807a-4186-9b49-60c573095461')/assignments('8f5311bb-ee1e-4bf0-9827-3fd8c57bdde2')/submissions/$entity",
"status": "working",
"submittedDateTime": null,
"unsubmittedDateTime": null,
"returnedDateTime": null,
"reassignedDateTime": null,
"resourcesFolderUrl": "https://graph.microsoft.com/v1.0/drives/b!IDwAYNkmlUucm64fxXxnzYYTuh2luKRDvUVGQBLOmvYqism21WrdQ4Aijx5lDIKE/items/0173CEVEPVMJCDTMO5RRH256O6T5NIB2CF",
"webUrl": "https://teams.microsoft.com/l/entity/66aeee93-507d-479a-a3ef-8f494af43945/classroom?context=%7B%22subEntityId%22%3A%22%7B%5C%22version%5C%22%3A%5C%221.0%5C%22,%5C%22action%5C%22%3A%5C%22navigate%5C%22,%5C%22view%5C%22%3A%5C%22speed-grader%5C%22%7D%22,%22channelId%22%3Anull%7D",
"id": "57ef8ee2-4755-4351-66d0-8e37192870a5",
"recipient": {
"@odata.type": "#microsoft.graph.educationSubmissionIndividualRecipient",
"userId": "51cf5a99-d234-4e43-96de-cd65df14bfa1"
},
"submittedBy": {
"application": null,
"device": null,
"user": {
"id": "51cf5a99-d234-4e43-96de-cd65df14bfa1",
"displayName": null
}
},
"reassignedBy": {
"application": null,
"device": null,
"user": {
"id": null,
"displayName": null
}
}
}
响应中的 webUrl 属性提供提交的深层链接 URL。
权限
分配 API 支持委派权限和应用程序权限。 建议使用应用程序权限,因为这仅允许应用检索数据。