学校的应用程序开发人员(使用Java)如何从D2L实例中导出成绩?
如果我正在构建一个需要使用实用程序帐户的D2L Valence App(如所描述的方法:https://stackoverflow.com/a/9950523/680651)来导出一堆成绩:
如何进行appid和app键的一次性配置?
如何进行用户ID和用户密钥的一次性配置?
实际获取课程列表并导出成绩需要哪些REST调用?
答案 0 :(得分:0)
关于公用事业帐户:
我会考虑尝试使用讲师上下文,这样您就不必强制执行角色了。但如果你选择了公用事业账户:
关于AppID和AppKey的一次性配置:
关于实用程序帐户userid和userkey的一次配置:
最简单的方法是将Getting Started Sample转换为安装程序:
调整index.jsp中的java示例,并将保存userid和userkey的行更改为会话:
session.setAttribute(“userID”,userContext.getUserId());
session.setAttribute(“userKey”,userContext.getUserKey());
而是将其保存到数据库中。
关于获取课程列表和课程成绩:
此次通话的示例请求:
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结构的ID可用于通过the grades for a course action
检索成绩有关如何将文档资源转换为工作电话的背景信息,您需要查看documentation conventions。