1

我们的一位客户正在运行 LE 10.1 SP9,但以下 Valence API 调用对他们​​不起作用:

GET /d2l/api/lp/(D2LVERSION: 版本)/users/(D2LID: userId)

在以前的版本(LE 10.0 SP1 和 LE 10.1 SP4)中,此 API 调用无需设置“用户->查看用户管理工具”权限即可工作。但现在看来,需要设置此权限才能使 get user API 调用正常工作。

此权限更改是预期的更改,还是将在未来更新中修复的疏忽?引入了此权限更改的 LE 10.x 版本是什么?

4

2 回答 2

0

从用户管理服务中检索用户的各种 API 调用,包括GET /d2l/api/{ver}/users/{userId},都应该受到Users->See the User Management tool权限的约束。这是一个有意的限制。自 LE 9.4.1 发布以来,此限制应在 2012 年 4 月的服务包(9.4.1 上的 SP4)中的所有平台上实施。如果您注意到后续平台版本并非如此,那么这将是一个应该报告给 D2L 的缺陷。

于 2013-09-06T15:58:07.993 回答
0

如上所述,用户管理路由适用于可以访问系统中所有用户的用户。听起来您正在寻找有关您可以通过课程明确访问的用户信息的子集。如果您正在寻找有关用户的信息,您的用户已通过 ClassList 之类的东西明确被授予访问有关信息的权限,那么还有另一条路线可能更适合使用。

它是:GET /d2l/api/le/(version)/(orgUnitId)/classlist/

注意:此路由受用户信息隐私设置以及控制哪些字段可用(d2l.Tools.ClassList.*)的几个配置变量的约束,如果您无法通过 UI 看到该字段(即用户名或 orgdefinedid) ,那么您也不会在 API 调用中获得它,因此应相应地调整权限和配置变量设置。

于 2013-10-08T19:30:59.577 回答