使用Google Apps脚本使用course.coursework.list

时间:2018-12-12 20:34:10

标签: javascript google-apps-script google-api google-classroom

对此没有经验-请原谅任何错误的单词选择...

我正在尝试使用Google Apps脚本来获取在不同教室设置的作业列表。我相信,我拥有所需的所有适当的API,凭据和范围。我按照教程设置了一个简单的班级列表,该班级可以正常工作,然后进行编辑以尝试列出每个班级中的作业,如下所示:

/**  
 * Lists 100 course names and ids.
 */
function listCourses() 
{
  var optionalArgs = {
    pageSize: 100
  };
  var listArgs = {
    pageSize: 10
  };
  var response = Classroom.Courses.list(optionalArgs);
  var courses = response.courses;
  if (courses && courses.length > 0) 
  {
    for (i = 0; i < courses.length; i++) 
    {
      var course = courses[i];

      Logger.log('%s (%s)', course.name, course.id);

      var info = Classroom.Courses.CourseWork.list(listArgs);
      var works = info.works;
      if (works && work.length > 0) 
      {
        for (i = 0; i < works.length; i++) 
        {
          var work = works[i];

          Logger.log('%s (%s)', work.title, work.creationTime);
        }     
      }
    }
  }
}

错误是:找不到请求的实体。 (第22行,文件“代码”)
*第22行:var info = Classroom.Courses.CourseWork.list(listArgs);

感谢任何想法,谢谢

1 个答案:

答案 0 :(得分:0)

此行:var info = Classroom.Courses.CourseWork.list(listArgs);

应为:Classroom.Courses.CourseWork.list(courseId, optionalArgs)

或者这个:Classroom.Courses.CourseWork.list(courseId)

重点是必须提供courseId。

您可以在API Explorer Here上进行尝试。

因此,代码应如下所示:

function listCourses() {
  var optionalArgs = {pageSize: 100};
  var listArgs = { pageSize: 10 };
  var response = Classroom.Courses.list(optionalArgs);
  var courses = response.courses;
  if (courses && courses.length > 0) {
    for (i = 0; i < courses.length; i++) {
      var course = courses[i];
      Logger.log('%s (%s)', course.name, course.id);
      var info = Classroom.Courses.CourseWork.list(course.id, listArgs)
      var works = info.works;
      if (works && work.length > 0) {
        for (i = 0; i < works.length; i++) {
          var work = works[i];
          Logger.log('%s (%s)', work.title, work.creationTime);
        }     
      }
    }
  }
}

但是请仔细检查一下,因为这是我第一次启用Classroom API。