我的服务需要知道用户有权访问的课程列表,以及他们在这些课程中分配的用户角色。我怎样才能做到这一点?
1 回答
在 Valence Learning Framework API 中,您可以找到用户注册的组织单位列表。您可以通过两种不同的方式执行此操作:
您可以以用户身份进行调用(如果您有该用户的经过身份验证的用户上下文)以查找他们自己的注册列表。您可以按组织单位类型 ID 过滤检索到的组织单位列表(课程设置的类型 ID 通常应为“3”)。
请注意,此调用不会
MyOrgUnitInfo
在检索到的记录中检索任何角色信息。您可以以其他用户的身份进行调用,以查找由 LMS 标识的其他用户的注册
userId
列表)。使用此调用 ( ) 检索的记录UserOrgUnit
确实包含注册的角色信息。您可以过滤按组织单位类型 ID 检索到的列表,就像上面的myEnrollments调用一样;您还可以按角色 ID 过滤检索到的列表(例如,您只获取用户作为学生注册课程的记录)——但是,要做到这一点,您必须知道 LMS 角色 ID是用于过滤的注册角色,这些值因组织而异。
请注意,由于注册角色列表可能因机构而异,并且由于某些机构将注册角色视为敏感信息位,因此可能难以确定用户在组织单位中注册的确切角色. 您的调用用户上下文可能没有足够的权限来查看该信息,或者您可能难以确定特定角色 ID的含义(因为分配给一个组织中的“学生”用户的角色 ID 可能与另一个组织使用的不同)。