我正在尝试获取当前用户可以访问的类的列表,并且我正在返回用户无法访问的类。
使用ruby客户端,我可以调用
service.list_courses(course_states: "ACTIVE")
# I have 7 courses returned
或
service.list_courses(course_states: "ACTIVE", teacher_id: "me")
# I have 3 courses returned (just mine)
问题是,在第一次调用中,有4个课程返回,当前用户无法查看/访问。这似乎不应该发生,正如文档所说的Returns a list of courses that the requesting user is permitted to view, restricted to those that match the request.
这是我应该在问题跟踪器中报告的错误,还是我误解了课程列表中可以返回的结果?
我的用例是,我想在课程中创建一个course work
项目,但我只想为老师可以访问的课程创建。我认为list courses
应该返回该列表,但是,它似乎没有(除非我指定teacher_id: "me"
,但我担心我会错过老师正在合作的课程(如果可能的话((
这是一个bug还是我误解了什么?
已编辑以添加
感谢@ziganotschka提供API的详细信息。经过进一步的测试,调用service.list_courses(course_states: "ACTIVE", teacher_id: "me")
将返回请求用户创建的课程或请求用户正在合作的课程。这对我来说并不明显,因为课程对象有一个owner_id
字段,它是一个单一用户,所以我认为teacher_id
可能在引用它。
我遇到的问题是,我是以super admin
登录的,根据下面的答案,它允许我查看所有课程。然而,我实际上无法访问这些课程的网络链接,这让我很困惑
API的行为如下:
service.list_courses(course_states: "ACTIVE")
为任何人返回他/她参与的所有课程,无论是作为教师还是学生- 如果管理员调用
service.list_courses(course_states: "ACTIVE")
,他可以看到域的所有类——这是预期行为 - service.list_courses(课程状态:"ACTIVE",教师id:"me"(将只返回
me
拥有的课程