2012-04-04 42 views
0

學校(使用Java)的應用程序開發人員將如何從D2L實例導出成績?如何從Desire2Learn導出成績?

如果我建立一個D2L價應用程序需要使用一個工具帳戶(如描述的方法:https://stackoverflow.com/a/9950523/680651)出口一堆等級:

我怎麼做的應用標識和應用程序中的一個時配置鍵?

我該如何做一次配置的用戶ID和用戶密鑰?

REST調用了什麼我需要實際獲得班級列表並導出成績?

回答

0

關於電費賬戶:

我會考慮嘗試使用教練方面,所以你不必強制執行的角色。但是,如果你用電費賬戶去:

關於的AppID和對AppKey的一個時間配置:

  1. 請求從密鑰工具繼keytool walkthrough
  2. 關鍵跟進從工具將出現回通過Desire2Learn並通過您所在機構的認可聯繫人確認密鑰應該啓用。
  3. 啓用時,您可以直接將這些鍵編譯到您的java代碼或資源文件(或db)中。它們在幾個地方的java庫中使用,並允許您在Desire2Learn Manage Extensibility Tool中打開或關閉單個應用程序。

關於電費賬戶的用戶ID的一次性配置和用戶鑰:

它可能比較容易打開Getting Started Sample到安裝程序:

  1. 的樣品中使用的身份驗證庫可用於僅對您自己的實例進行身份驗證(而不是提示輸入主機名)。這將產生一個認證網址,例如「https://my.host.name/d2l/auth/api/token?x_a = ......」,這應該被設置爲「挑選一個實用程序帳戶運行這個應用程序」。
  2. 調整在index.jsp的Java示例和改變用戶ID和用戶鑰保存到會話的行:

    session.setAttribute( 「用戶ID」,userContext.getUserId());

    session.setAttribute(「userKey」,userContext.getUserKey());

    而是將其保存到數據庫中。

  3. 配置您的應用程序時,運行此程序並使用您要使用的實用程序帳戶登錄到D2L。登錄完成後,將運行index.jsp代碼並保存密鑰。
  4. 這些密鑰用於java庫中,並向LMS證明調用的用戶上下文。

關於獲得了個療程名單和等級:

  1. 對於所有的電話我會用library操作稱爲ID2LUserContext createAuthenticatedUri傳遞路徑在文檔中指出。
  2. 獲取組織單位(包括課程),用於與org unit by user call

樣品申請本次通話導師:

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 structures

這裏是原始響應:

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結構可用於通過the grades for a course action

檢索等級有關如何打開文檔的資源投入到工作呼叫背景您需要查看documentation conventions

+0

當您使用實用程序帳戶時,您需要檢查「角色」以確保他們處於應該能夠看到成績的角色。 – Cadmium 2012-04-05 11:58:41