En primer lugar, debe crear un elemento de calificación para "Asistencia" de tipo "Numérico" en el curso mediante la siguiente llamada a la API:
"POST /d2l/api/le/1.0/(orgUnitId)/grades/""{\n" +
" \"MaxPoints\": 10,\n" +
" \"CanExceedMaxPoints\": false,\n" +
" \"IsBonus\": falso,\n" +
" \"ExcludeFromFinalGradeCalculation\": false,\n" +
" \"GradeSchemeId\": null,\n" +
" \"Id\": 67895,\n" +
" \"Nombre\": \"Attendance_Grade_object\",\n" +
" \"ShortName\": \"Asistencia\",\n" +
" \"GradeType\": \"Numérico\",\n" +
" \"CategoryId\": null,\n" +
" \"Descripción\": { \"Contenido\": \"Probando Gardes en blank_course\",\"Tipo\": \"Prueba|html\" }\n" +
"}"
Suponiendo que tienes un .csv que se parece a esto:
Apellido,Nombre,Grado
Estudiante,Primero,10
Estudiante,Segundo,9
Estudiante,Tercero,8
Estudiante,Último,10
A continuación, tendrás que hacer que la lista de clases o los usuarios llamen a la que he especificado anteriormente para obtener los ID de usuario de los estudiantes, y actualizar tu CSV a lo siguiente:
D2LID,Apellido,Nombre,Grado
10111,Estudiante,Primero,10
10112,Estudiante,Segundo,9
10113,Estudiante,Tercero,8
10114,Estudiante,Último,10
A continuación, configurará el código para leer esos registros y tendrá algo como:
Registros de lista = CSVParser.parse(csvWithGrades);
URL de cadena = "/d2l/api/le/1.4/123456/grades/12345/values/%1$s";
for (UserRecord record : registros) {
URI uri = userContext.createAuthenticatedUri(String.format(url, record.userid), "PUT");
String requestBody = JSONFormatter.createGradePutBody(record.gradeValue);
ConnectionHelper.makePutConnection(uri, requestBody);
}
Tendrá que sondear UserRecord, CSVParser, JSONFormatter y ConnectionHelper, o reemplazarlos con su propia implementación preferida.