【问题标题】:Get courses.list without archived classes获取没有存档课程的课程列表
【发布时间】:2016-08-07 21:21:31
【问题描述】:

使用 HTTP GET 请求,您将如何仅获取活动的类。您能否向仅返回活动类列表的 Google API URL 添加参数?或者您是否必须搜索返回的数组并删除使用 for 循环归档的任何类?

    var classroom = new XMLHttpRequest();
    var accessToken = localStorage.getItem('accessToken');
    classroom.open('GET',
      'https://classroom.googleapis.com/v1/courses');
    classroom.setRequestHeader('Authorization',
      'Bearer ' + accessToken);
    classroom.send();

    classroom.onload = function () {
        if (classroom.readyState === classroom.DONE) {
            if (classroom.status === 200) {
              var response = JSON.parse(classroom.response);
              vm.classes = response.courses;
              console.log(response);
              for (var i = 0; i < response.courses.length; i++){
                var courses = response.courses[i];
                console.log(courses.name);

              }
            } else {
              console.log("Error Unknown");
            }
        }
    };

任何帮助将不胜感激。 谢谢!

【问题讨论】:

    标签: google-classroom


    【解决方案1】:

    还没有像用户对象那样的过滤器选项。 (至少据我所知,这已记录在案)。所以是的,您必须提取所有课程,然后过滤掉存档的课程。 https://developers.google.com/classroom/reference/rest/v1/courses 有一个 CourseState 部分列出了课程可能处于的 5 种可能状态。[COURSE_STATE_UNSPECIFIED、ACTIVE、ARCHIVED、PROVISIONED、DECLINED]

    【讨论】:

      【解决方案2】:

      通读文档,courses.list 返回请求用户可以查看的课程列表。它没有说明仅检索活动类的直接方法。你可能不得不求助于你所说的实现。

      【讨论】:

        【解决方案3】:

        试试这个:

        function get_courses(student) {
          var optionalArgs = {
            studentId: student
          };
          var response = Classroom.Courses.list(optionalArgs);
          var courses = response.courses;
          var active_courses = [];
          if (courses && courses.length > 0) {
            for (i = 0; i < courses.length; i++) {
              var course = courses[i];
              if(course.courseState == "ACTIVE"){
        
                active_courses.push(course);
        
                Logger.log('%s (%s)', course.name, course.id);
              }
            }
          } else {
            Logger.log('No courses found.');
          }
        
          return active_courses;
        }
        

        【讨论】:

        • 可选的 Args 似乎无法正常工作。 LIST 似乎不接受 C# 中的任何参数。
        猜你喜欢
        • 1970-01-01
        • 2016-01-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-10
        • 1970-01-01
        相关资源
        最近更新 更多