Использование Google Apps Script для составления списка назначений через Google Classroom API с помощью course.coursework.list - PullRequest
0 голосов
/ 12 декабря 2018

Неопытен в этом - пожалуйста, прости меня за неправильный выбор слов ...

Я пытаюсь использовать Google Apps Script, чтобы получить список назначений, установленных в разных классных комнатах.Я верю У меня есть все необходимые 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 голосов
/ 13 декабря 2018

Эта строка: var info = Classroom.Courses.CourseWork.list(listArgs);

Должно быть: Classroom.Courses.CourseWork.list(courseId, optionalArgs)

Или это: Classroom.Courses.CourseWork.list(courseId)

Суть в том, что требуемый идентификатор курса требуется.

Вы можете попробовать это в API Explorer Здесь .

Поэтому код должен выглядеть примерно так:

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.

...