使用HTTP GET请求,您将如何仅获取活动的类。您是否可以向仅返回活动类列表的Google API网址添加参数?或者您是否必须搜索返回的数组并删除使用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");
}
}
};
非常感谢任何帮助。 谢谢!
答案 0 :(得分:1)
还没有像User对象那样的过滤器选项。 (据我所知,至少记录了这一点)。所以,是的,您必须完成所有课程,然后过滤掉已存档的课程。 https://developers.google.com/classroom/reference/rest/v1/courses这里有一个CourseState部分,其中列出了课程所处的5种可能状态。[COURSE_STATE_UNSPECIFIED,ACTIVE,ARCHIVED,PROVISIONED,DECLINED]
答案 1 :(得分:0)
通过阅读文档,courses.list返回允许请求用户查看的课程列表。它没有说明仅检索活动类的直接方法。您可能不得不求助于您的实施。
答案 2 :(得分:0)
试试这个:
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;
}