Primeiro, você deve criar uma nota para "Frequência" do tipo "Numérico" no curso usando a seguinte chamada de API:
"POST /d2l/api/le/1.0/(orgUnitId)/grades/""{\n" +
" \"MaxPoints\": 10,\n" +
" \"CanExceedMaxPoints\": false,\n" +
" \"IsBonus\": false,\n" +
" \"ExcludeFromFinalGradeCalculation\": false,\n" +
" \"GradeSchemeId\": null,\n" +
" \"Id\": 67895,\n" +
" \"Nome\": \"Attendance_Grade_object\",\n" +
" \"ShortName\": \"Atendimento\",\n" +
" \"GradeType\": \"Numérico\",\n" +
" \"CategoryId\": null,\n" +
" \"Description\": { \"Content\": \"Testing Gardes on blank_course\",\"Type\": \"Test|Html\" }\n" +
"}"
Supondo que você tenha um .csv parecido com este:
Sobrenome, Nome, Grau
Aluno, Primeiro, 10
Estudante,Segundo,9
Estudante,Terceiro,8
Estudante,Último,10
Em seguida, você precisará fazer com que a lista de classe ou os usuários chamem que especifiquei anteriormente para obter IDs de usuário para os alunos e atualizar seu CSV para isso:
D2LID, Sobrenome, Nome, Grau
10111,Aluno,Primeiro,10
10112, Estudante, Segundo, 9
10113, Estudante, Terceiro, 8
10114, Estudante, Último, 10
Em seguida, você configurará o código para ler esses registros e terá algo como:
Listar registros = CSVParser.parse(csvWithGrades);
String url = "/d2l/api/le/1.4/123456/grades/12345/values/%1$s";
for (registro UserRecord: registros) {
URI uri = userContext.createAuthenticatedUri(String.format(url, record.userid), "PUT");
String requestBody = JSONFormatter.createGradePutBody(record.gradeValue);
ConnectionHelper.makePutConnection(uri, requestBody);
}
Você terá que inserir UserRecord, CSVParser, JSONFormatter e ConnectionHelper ou substituir por sua própria implementação preferida.