学校的应用程序开发人员(使用 Java)如何从 D2L 实例中导出成绩?
如果我正在构建一个需要使用实用程序帐户的 D2L Valence 应用程序(如描述的方法:https ://stackoverflow.com/a/9950523/680651 )来导出一堆成绩:
如何一次性配置appid和app key?
如何一次性配置用户 ID 和用户密钥?
我需要哪些 REST 调用才能实际获取班级列表并导出成绩?
学校的应用程序开发人员(使用 Java)如何从 D2L 实例中导出成绩?
如果我正在构建一个需要使用实用程序帐户的 D2L Valence 应用程序(如描述的方法:https ://stackoverflow.com/a/9950523/680651 )来导出一堆成绩:
如何一次性配置appid和app key?
如何一次性配置用户 ID 和用户密钥?
我需要哪些 REST 调用才能实际获取班级列表并导出成绩?
关于公用事业帐户:
我会考虑尝试使用讲师上下文,这样您就不必强制执行角色。但是,如果您确实使用公用事业帐户:
关于 AppID 和 AppKey 的一次性配置:
关于实用程序帐户 userid 和 userkey 的一次性配置:
将入门示例转换为安装程序 可能最容易:
调整 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 结构
这是原始响应:
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 可用于通过课程操作的成绩检索成绩
有关如何将文档资源转化为工作调用的背景信息,您需要查看文档约定。