作为一名教师用户,我必须使用什么Valence Learning Framework API调用以获取在我的某个课程中注册的所有学生(仅限)的列表?
答案 0 :(得分:1)
有两种主要方法可以获得在D2L LE类组织单位注册的人员名单;您应该使用的正确呼叫主要取决于您正在使用的后端LMS配置:
GET /d2l/api/le/{ver}/{orgUnitId}/classlist/
这将检索系统已配置为出现在组中的组织单位中注册的所有用户;在某些组织中,这可能只包括学生,但最有可能的是,这个电话会混合在教师,导师等以及学生中。所以这可能会或可能不适合您的需求。
您可以尝试结合这条路线来区分学生与课程中的其他人,这一点是关注那些成绩的人;进行类列表调用,然后为类列表中的每个用户请求已知成绩项的成绩值。如果用户是参与课程并被评分的学生或其他角色,您将从第二次电话中知道;不可评分的用户不会有与其注册相关的成绩值。这将有助于您专注于该人员在课程中注册的方面,而无需关注其注册角色的详细信息(某些组织将角色信息视为敏感信息)。
GET /d2l/api/lp/{ver}/enrollments/orgUnits/{orgUnitId}/users/?roleId={roleId}
此调用将检索在组织单位中注册的所有用户,并且您可以按角色ID过滤检索到的列表(因此您只能按其角色ID列出"学生"用户)。如果组织有多种学生角色,那么您需要知道这一点,以便您可以获取所有可能的学生角色。或者,您可以在没有roleId
查询参数的情况下进行调用,并根据您获取的嵌入式角色信息在获取后过滤结果。
但是,您的教师用户可能没有正确的权限来拨打此电话;有些组织仅对管理用户限制对此类注册信息调用的访问。
答案 1 :(得分:0)
请注意,默认情况下,使用成绩对象方法确定用户是否为学生,只会返回 20个项目。您可以通过为调用指定pageSize参数来覆盖,但如果您没有相应的权限,则可能会遇到相同的权限问题。