Microsoft Graph 中分配的状态、转换和限制

作业是教师和学生操作之间交互的重要组成部分。 本文介绍在流程流期间分配状态的更改,以及 Microsoft Graph 中涉及的教育 API。

工作分配状态和转换

作业表示在课堂上分配给学生或团队成员作为学习的一部分的任务或工作单元。 只有教师或团队所有者才能创建、复制或计划作业。 这些操作会影响分配状态。 下表列出了分配状态以及可用于更改状态的 API。

状态 说明 REST API 调用 可供编辑的功能
Draft 创建或复制现有工作分配时的初始状态。 POST /education/classes/{id}/assignments 资源、类别、评分标准
Published 将作业分发给分配的每个学生时的后台处理状态。 POST /education/classes/{id}/assignments/{id}/publish
Scheduled 教师计划将来发布作业时的状态。 PATCH /education/classes/{id}/assignments/{id}
POST /education/classes/{id}/assignments/{id}/publish
资源、类别、评分标准
已分配 发布过程完成后,作业将移至已分配状态、可供学生使用或保持活动状态。 POST /education/classes/{id}/assignments/{id}/publish
POST /education/classes/{id}/assignments/{id}/activate
提交
Pending 从现有作业复制新作业时的后台处理状态。 PATCH /education/classes/{id}/assignments/{id}
非活动 作业没有针对教师和学生的其他操作项。 POST /education/classes/{id}/assignments/{id}/deactivate

下图显示了工作分配可能发生的状态转换。

分配状态转换关系图

如何验证是否已发布分配

调用方必须使用 GET 分配操作来检查当前分配状态并验证发布过程是否成功。

基于允许的操作的分配状态转换

当前分配状态 新建操作 新建状态
Draft 教师安排作业 Scheduled
Draft 发布 Published
Draft 编辑 Draft
Draft 丢弃
Published 发布已完成 已分配
Published 发布失败 Draft
Published 丢弃
Scheduled 到达截止日期 Published
Scheduled 取消计划 Draft
Scheduled 安排 Scheduled
已分配 丢弃
已分配 Deactivated 非活动
Pending 复制已完成 Draft
Pending 丢弃
非活动 Activated 已分配

注意

仅允许表中列出的操作和状态转换。

通过分配 API 调用同步与异步操作

下表列出了影响分配状态和操作类型的 API 调用。

同步操作一次执行一个。 必须在下一个操作开始之前完成每个操作,并且只有在所有操作完成后才会返回最终结果。 异步操作允许并发运行多个任务。 当一个操作正在进行时,另一个操作可以在上一个操作完成之前启动。 异步操作通常涉及后台活动,调用方需要通过轮询或监视来主动检查结果,直到结果可用。

API 同步或异步 获取最新状态的机制
DELETE /education/classes/{id}/assignments/{id} Async 投票
POST /education/classes/{id}/assignments/{id}/publish Async 投票
PATCH /education/classes/{id}/assignments/{id} Async 投票
POST /education/classes/{id}/assignments Async 投票
POST /education/classes/{id}/assignments/{id}/deactivate Async 投票
POST /education/classes/{id}/assignments/{id}/activate Async 投票

限制

以下限制适用于所有 API 调用:

  • 教师作业资源的最大数目为 10。
  • 资源允许的最大大小为 500 MB。
  • 限制适用;有关详细信息,请参阅 Microsoft Graph 限制指南