Максимальное количество извлеченных идентификаторов класса

#google-classroom

Вопрос:

В моей учетной записи заархивировано около 520 классных комнат, если я попытаюсь выбрать их с помощью

вар Курслист = Класс.Курсы.список({«Курсы»:[«АРХИВ»]}).курсы;

Я получаю только 300 из них. Это нормально? Как я могу выбрать их все? На самом деле я пишу сценарий для удаления самых старых, но если я не смогу их восстановить, я не смогу их удалить.

Комментарии:

1. Краткое решение должно заключаться в выборе состояний: АРХИВИРОВАНО и Время создания: указанный год и месяц (не день, потому что может быть любым). Но я не могу понять синтаксис, чтобы получить это.

Ответ №1:

Я понимаю, что у вас так много курсов, что Courses.list() ответ разбит на отдельные страницы. В этом случае вы можете очень легко перемещаться по ним с помощью токенов. Прежде всего, убедитесь, что вы указали pageSize это в своем запросе. Это установило бы желаемое количество ответов на страницу. Пожалуйста, имейте в виду, что сервер может возвращать меньше указанного количества результатов, как указано в документах. В случае, если ваш ответ был разделен на страницы, ответ будет включать nextPageToken поле. Затем, чтобы получить остальные курсы, вы должны повторить свой запрос, включая его nextPageToken в pageToken собственность. Пожалуйста, не стесняйтесь задавать мне любые сомнения по поводу этого подхода.

Комментарии:

1. Привет, Жак, спасибо за твой ответ. Я искал документы о размере страницы, но ничего не могу найти. Можете ли вы помочь мне понять правильный синтаксис?

Ответ №2:

Большое спасибо, Жак, я нашел решение:

   var parametri = {"courseStates": "ARCHIVED"};
  var page = Classroom.Courses.list(parametri);
  var listaClassi = page.courses;
  
  if (page.nextPageToken !== '') {
      parametri.pageToken = page.nextPageToken;
      page = Classroom.Courses.list(parametri);
      listaClassi = listaClassi.concat(page.courses);
  }
 

В любом случае, мне не нужно было менять размер страницы, и я не нашел никакого руководства по этому поводу.