Индивидуальные настройки API для учащихся в скрипте Google Apps

#javascript #google-apps-script #google-classroom

#javascript #google-apps-script #google-classroom

Вопрос:

Возможно ли использовать IndividualStudentsOptions объект из Google Apps Script? Я пытаюсь создать объект, но возвращает эту ошибку

Исключение GoogleJsonResponseException: Нет se ha podido llamar a la API classroom.courses.courseWork.create; ошибка: получена недопустимая полезная нагрузка JSON. Неизвестное имя «individualStudentsOptions» в «course_work»: Прото-поле не повторяется, невозможно запустить список.

Кажется, что это невозможно из GAS.

 function enviarclassdos(datos,alumnos){

// datos: object with needed variables for classroom publishing
// alumnos: individual students  (array [students])

var stdid = []; //Array of IDs of individual students

//Getting the IDs of the individual students

var hojacuentas = SpreadsheetApp.openById("1oHlpSyRB913LWpj-UNTKattO").getSheetByName("CUENTAS");
var datacuentas = hojacuentas.getDataRange().getValues();
for(var al =0; al<alumnos.length; al  ){

var alum = alumnos[al][0];
for (var dt=0; dt<datacuentas.length; dt  ){
var alumdt = datacuentas[dt][0];

if (alumdt == alum){
var cuenta = datacuentas[dt][3];
stdid.push(cuenta);}}}
 
  var curso = datos.curso;
  var tipo = datos.tipo;
  
  if (curso == "Primero A"){var id = "14085771****";} 
  if (curso == "Primero B"){var id = "14085996****";}
  if (curso == "Segundo A"){var id = "14085996****";}
  if (curso == "Segundo B"){var id = "14085996****";}
  if (curso == "Cuarto AB"){var id = "14085996****";}
  
  var titulo = datos.concepto;
  var descripcion = datos.descripcion;
  var fecha = datos.fecha;
  
  var tema = datos.tipo
  
  
 
var ClassSource =
{
  title: titulo,
  description: descripcion,
  state: "PUBLISHED",
  workType: "ASSIGNMENT",
  topicId: tema,
  maxPoints: 100,
  assigneeMode: "INDIVIDUAL_STUDENTS"
  
}

//This is the object that produces the error message

ClassSource.individualStudentsOptions = {studentIds:stdid};

var clss = Classroom.Courses.CourseWork;
var wrk = clss.create(ClassSource, id);



 }
  

Ответ №1:

Вместо

 ClassSource.individualStudentsOptions = [{studentIds:stdid}];
  

использование

 ClassSource.individualStudentsOptions = {studentIds:[stdid]};
  

Ссылка