次のように、Valance を使用して D2L のルートを Java で正常に実装した人がいるかどうかについて、私は興味がありました。
PUT /d2l/api/le/(D2LVERSION: バージョン)/(D2LID: orgUnitId)/grades/(D2LID: gradeObjectId)/values/(D2LID: userId)
必要な ID が D2L の記録と一致することを徹底的に確認したときに、この呼び出しから 404 を受け取るのに苦労しています。Java で使用しているインストラクター レベルのアカウントで D2L にログインすると、コース、テスト、および参加者が表示されます。これらの ID は Java コードで上記のルートを呼び出すために使用されますが、404 を受け取り、成績が更新されません。
コードの一部を次に示します。
HttpURLConnection connection = null ;
try {
uri = userContext.createAuthenticatedUri ("/d2l/api/le/1.0/"+courseId+"/grades/"+gradeId+"/values/"+ userId, "PUT");
connection= (HttpURLConnection)uri.toURL().openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("PUT");
connection.setRequestProperty("Content-Type", "application/json");
OutputStream os = connection.getOutputStream();
String updatedScore = "{\"GradeObjectType\":1,\"PointsNumerator\":\"5\"}";
os.write(updatedScore.getBytes());
os.flush();
}catch(Exception e){
e.printStackTrace();
}
courseID、gradeID、および userID が渡され、D2L Web UI で検証されています。ご覧のとおり、GradeObjectType が 1 で PointsNumerator が 5 の JSON 文字列が作成されています。このような呼び出しを許可するために、既定のインストラクター アカウントのアクセス許可以外に、このインストラクター アカウントに必要な特別なアクセス許可はありますか?
任意の考えをいただければ幸いです。ありがとう