谷歌课堂API:课程列表返回不可用的课程



我正在尝试获取当前用户可以访问的类的列表,并且我正在返回用户无法访问的类。

使用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拥有的课程

最新更新