0

学校のアプリ開発者(Javaを使用)は、D2Lインスタンスから成績をどのようにエクスポートしますか?

ユーティリティアカウント(説明されているアプローチのように:https ://stackoverflow.com/a/9950523/680651 )を使用して一連のグレードをエクスポートする必要があるD2L Valenceアプリを構築している場合:

appidとappkeyの1回限りの設定を行うにはどうすればよいですか?

ユーザーIDとユーザーキーの1回限りの構成を行うにはどうすればよいですか?

実際にクラスリストを取得して成績をエクスポートするには、どのREST呼び出しが必要ですか?

4

1 に答える 1

0

ユーティリティアカウントについて:

役割を強制する必要がないように、インストラクターのコンテキストを使用することを検討します。ただし、ユーティリティアカウントを使用する場合は、次のようになります。

AppIDとAppKeyの1回限りの構成について:

  1. キーツールのウォークスルーに従って、キーツールにキーをリクエストします
  2. そのツールからDesire2Learnを介してフォローアップが行われ、教育機関で承認された連絡先に連絡して、キーが有効になっていることを確認します。
  3. 有効にすると、これらのキーをJavaコードまたはリソースファイル(またはdb)に直接コンパイルできます。これらはいくつかの場所のJavaライブラリで使用され、Desire2Learn拡張性管理ツール内から個々のアプリをオンまたはオフにすることができます。

ユーティリティアカウントのuseridとuserkeyの1回限りの設定について:

入門サンプルをインストーラーに変換する のがおそらく最も簡単です。

  1. サンプルで使用されている認証ライブラリは、(ホスト名の入力を求めるのではなく)自分のインスタンスに対して認証するためだけに使用できます。これにより、「https://my.host.name/d2l/auth/api/token?x_a=......」のような認証URLが生成されます。これは、「実行するユーティリティアカウントを選択する」手順として設定する必要があります。このアプリケーション"。
  2. index.jspのJavaサンプルを調整し、ユーザーIDとユーザーキーをセッションに保存する行を変更します。

    session.setAttribute( "userID"、userContext.getUserId());

    session.setAttribute( "userKey"、userContext.getUserKey());

    代わりにデータベースに保存します。

  3. アプリを構成するときは、これを実行し、使用するユーティリティアカウントでD2Lにログインします。ログインが完了すると、index.jspコードが実行され、キーが保存されます。
  4. これらのキーはJavaライブラリで使用され、呼び出しが行われたユーザーコンテキストをLMSに証明します。

コースリストとコースの成績の取得について:

  1. すべての呼び出しで、ドキュメントに記載されているパスを渡すID2LUserContextcreateAuthenticatedUriというライブラリ操作を使用します。
  2. ユーザー呼び出しにより、組織ユニットを持つインストラクターの組織ユニット(コースを含む)を取得します

この呼び出しのサンプルリクエスト:

GET
https://valence.desire2learn.com/d2l/api/lp/1.0/enrollments/users/3667/orgUnits/?x_b=JgqB2bumFwQkWft-gUP8Qr&x_a=L2Hd9WvDTcyiyu5n2AEgpg&x_d=XeTMX5fliLPTJdtKqeE_a0esDmTriSC9Aq9sMtpoO00&x_c=2AhFhrwhv1RsIdshAMba0upiux7Bhz-znS-VqjXhQh8&x_t=1333565539
HTTP/1.1 Accept-Encoding: gzip,deflate User-Agent: Jakarta
Commons-HttpClient/3.1 Host: valence.desire2learn.com

(値x_a、x_b、x_c、x_d、およびx_tは認証に使用され、クライアントライブラリを使用する場合は自動的に追加されます)

3.この呼び出しには、最終的にOrgUnitInfo構造が含まれます

そして、これが生の応答です:

HTTP/1.1 200 OK
Cache-Control: no-cache, no-store
Pragma: no-cache
Content-Length: 17300
Content-Type: application/json; charset=UTF-8
Expires: -1
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Date: Wed, 04 Apr 2012 18:52:08 GMT

{"PagingInfo":{"Bookmark":"6789","HasMoreItems":true},"Items":[

<SNIP/>

{
         "OrgUnit":          {
            "Id": 6789,
            "Type":             {
               "Id": 3,
               "Code": "Course Offering",
               "Name": "Course Offering"
            },
            "Name": "In",
            "Code": "dSCL_101_ONGOING_01"
         },
         "Role":          {
            "Id": 71,
            "Code": null,
            "Name": "Instructor Role"
         }
      }    

<SNIP/>

4.そのOrgUnitInfo構造からのIDを使用して、コースアクションの成績を介して成績を取得できます

ドキュメントリソースを機能する呼び出しに変換する方法の背景については、ドキュメントの規則を確認することをお勧めします。

于 2012-04-05T11:57:23.280 に答える