0

次のように、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 文字列が作成されています。このような呼び出しを許可するために、既定のインストラクター アカウントのアクセス許可以外に、このインストラクター アカウントに必要な特別なアクセス許可はありますか?

任意の考えをいただければ幸いです。ありがとう

4

1 に答える 1

0
  1. (まだ行っていない場合) get 呼び出しを行ってこれらの値を取得し、それらが存在し、基本的なロジックが機能していることを確認できます。
  2. 非常に特権的なアカウントにアクセスできる場合は、そのアカウントを使用して権限の問題を除外することができます。UI で成績を設定できる講師は、API を介して成績を設定できる必要があります。

アップデート:

成功した要求と応答の例を次に示します。おそらく違いを特定できます。

REQUEST:

PUT https://valence.desire2learn.com/d2l/api/le/1.0/7574/grades/4852/values/3902?x_b=xDaPHeptaw9syoI1EGdeJ1&x_a=L2Hd9WvDTcyiyu5n2AEgpg&x_d=6U5NTYnTswz4gnu-vZHT3bajswsp3jvxYtwzoeOWKUs&x_c=a6f5hEMrvAxC6PS5UlSUOusVpj-XKnOBwxqhYg5pNtg&x_t=1343070852 HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/json

{
                "GradeObjectType": 1,
                "PointsNumerator": 9
}


RESPONSE:

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 0
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Date: Mon, 23 Jul 2012 19:14:48 GMT
于 2012-07-22T20:57:03.867 に答える