2012-04-04 21 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