1

如何从组织单位的级联结构中删除用户的注册?在我的应用程序中,我使用以下路径来创建注册:

POST /d2l/api/lp/1.4/enrollments/

带有请求正文:

{
 "OrgUnitId": 123,
 "UserId": 4,
 "RoleId": 5
}

此调用创建 3 个注册:

  1. OrgUnitId=123 -> 课程设置
  2. OrgUnitId=124 -> 部分
  3. OrgUnitId=125 -> 组

所以,我只知道顶级 orgUnitId(与课程提供相关)。其他注册是自动创建的。

当我尝试删除注册时,我使用以下 DELETE 调用:

/d2l/api/lp/1.4/enrollments/orgUnits/123/users/4

在这个电话之后,我仍然看到“注册儿童”:

  • OrgUnitId=124 -> 部分
  • OrgUnitId=125 -> 组

我怎样才能删除它们?

4

1 回答 1

0

理想情况下,API 可以处理这个问题,但这里有一个替代方案:

DELETE 调用将返回一个显示预删除状态的 EnrollmentData 块:

{
"OrgUnitId": <number:D2LID>,
"UserId": <number:D2LID>,
"RoleId": <number:D2LID>,
"IsCascading": <boolean>
}

如果 IsCascading 为真,请使用以下请求检索子级,并在子级 OrgUnit 上迭代您的原始 DELETE 语句。

GET /d2l/api/lp/(version)/orgstructure/(orgUnitId)/descendants/

(见http://docs.valence.desire2learn.com/res/orgunit.html#get--d2l-api-lp-%28version%29-orgstructure-%28orgUnitId%29-descendants-

于 2014-10-10T16:38:46.057 回答