Tout d’abord, vous devez créer un élément de note pour « Participation » de type « Numérique » dans le cours en utilisant l’appel API suivant :
« 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 » +
« \"Name\ » : \"Attendance_Grade_object\ »,\n » +
« \"ShortName\ » : \"Attendance\ »,\n » +
« \"GradeType\ » : \"Numeric\ »,\n » +
« \"CategoryId\ » : null,\n » +
« \"Description\ » : { \"Content\ » : \"Testing Gardes on blank_course\ »,\"Type\ » : \"Test|Html\ » }\n » +
"}"
En supposant que vous avez un .csv qui ressemble à ceci :
Nom,Prénom,Grade
Étudiant,Premier,10
Étudiant,Deuxième,9
Étudiant,Troisième,8
Étudiant,Dernier,10
Ensuite, vous devrez faire la liste de participants ou les appels utilisateurs que j’ai spécifiés précédemment pour obtenir les identifiants d’utilisateur pour les étudiants, et mettre à jour votre CSV à ceci :
D2LID,Nom,Prénom,Grade
10111,Étudiant,Premier,10
10112,Étudiant,Deuxième,9
10113,Étudiant,Troisième,8
10114,Étudiant,Dernier,10
Ensuite, vous allez configurer du code pour lire ces enregistrements et vous aurez quelque chose comme :
Enregistrements de liste = CSVParser.parse(csvWithGrades) ;
URL de chaîne = « /d2l/api/le/1.4/123456/grades/12345/values/%1$s » ;
for (UserRecord record : records) {
URI uri = userContext.createAuthenticatedUri(String.format(url, record.userid), « PUT ») ;
String requestBody = JSONFormatter.createGradePutBody(record.gradeValue) ;
ConnectionHelper.makePutConnection(uri, requestBody) ;
}
Vous devrez sonder dans UserRecord, CSVParser, JSONFormatter et ConnectionHelper, ou remplacer par votre propre implémentation préférée.