Eerst moet je een cijferitem maken voor "Aanwezigheid" van het type "Numeriek" in de cursus met behulp van de volgende API-aanroep:
"POST /d2l/api/le/1.0/(orgUnitId)/grades/""{\n" +
" \"MaxPoints\": 10,\n" +
" \"CanExceedMaxPoints\": onwaar,\n" +
" \"IsBonus\": onwaar,\n" +
" \"ExcludeFromFinalGradeCalculation\": onwaar,\n" +
" \"GradeSchemeId\": null,\n" +
" \"Id\": 67895,\n" +
" \"Naam\": \"Attendance_Grade_object\",\n" +
" \"ShortName\": \"Aanwezigheid\",\n" +
" \"GradeType\": \"Numeriek\",\n" +
" \"CategoryId\": null,\n" +
" \"description\": { \"Content\": \"Gardes testen op blank_course\",\"Type\": \"Test|html\" }\n" +
"}"
Ervan uitgaande dat je een .csv hebt die er ongeveer zo uitziet:
Achternaam,Voornaam,Cijfer
Leerling,Eerste,10
Leerling,Tweede,9
Leerling,Derde,8
Leerling,Laatste,10
Vervolgens moet je de klassenlijst of gebruikersaanroep die ik eerder heb opgegeven maken om gebruikersnamen voor de studenten te krijgen, en je CSV als volgt bijwerken:
D2LID, Achternaam, Voornaam, Cijfer
10111,Student,Eerste,10
10112,Student,Tweede,9
10113,Student,Derde,8
10114,Student,Laatste,10
Vervolgens stel je code in om die records in te lezen, en heb je iets als:
Lijstrecords = CSVParser.parse(csvWithGrades);
Tekenreeks-url = "/d2l/api/le/1.4/123456/grades/12345/values/%1$s";
voor (UserRecord record : records) {
URI uri = userContext.createAuthenticatedUri(String.format(url, record.userid), "PUT");
Tekenreeks requestBody = JSONFormatter.createGradePutBody(record.gradeValue);
ConnectionHelper.makePutConnection(uri, requestBody);
}
U moet UserRecord, CSVParser, JSONFormatter en ConnectionHelper gebruiken, of vervangen door uw eigen voorkeursimplementatie.