gpt4 book ai didi

jquery - 从 SCORM Cloud LRS 检索 Tin Can API 语句列表

转载 作者:行者123 更新时间:2023-12-01 03:39:50 26 4
gpt4 key购买 nike

我已将 Tin Can 类(class)添加到我的 LMS,并且我能够成功上传和回放该类(class),以便我的语句被写入初始应用领域 LRS。到目前为止一切顺利。

现在我希望能够从 LRS 检索已编写的所有语句的列表,以便我可以迭代这些语句并检查登录用户的类(class)完成情况。我的语句正在写入以下端点:

https://cloud.scorm.com/tc/7QLMQA89WV/

我尝试使用 .NET 库和以下代码来查询语句:

//Initialize the TinCan Remote LRS for retrieving completion statistics
LRS = new RemoteLRS("https://cloud.scorm.com/tc/7QLMQA89WV/", "<username>", "<pw>");
Version = TinCan.TCAPIVersion.V101;

//Create the TinCan statement to query completed activities for the logged in user
var query = new StatementsQuery();
query.agent = new TinCan.Agent();
query.agent.mbox = "mailto:jpmcfeely@hsl-data.com";
query.verbId = new Uri("http://adlnet.gov/expapi/verbs/completed");
query.activityId = new Uri("http://tincanapi.com/GolfExample_TCAPI");

然而,这将返回所有语句的列表,无论已使用的动词或事件如何。查询过滤器中是否可能存在错误,因为使用 SCORM Cloud 时我可以看到 TCAPI 查询字符串,并且在此处输入动词或事件的 URI 时,它会进行适当的过滤。

作为测试语句是否正确输出的一种方法,我也有以下观点,不确定这是否是获得语句的人类可读版本的最佳方法,但我对每个语句都有此输出在我的列表中

<p>@statement.actor.name @statement.verb.display.ToJObject().GetValue("und") '@statement.target.ToJObject(Model.Version)["definition"]["name"]["en-US"]'</p>

最佳答案

对安德鲁关于使用该库的建议+1。您获得结果的原因是因为您缺少“X-Experience-API-Version” header ,该库将其适本地添加到所有请求中。缺少 header 意味着 LRS 将该请求解释为 0.9 版本请求,除非您使用该版本存储了语句,否则不会返回任何内容(语句不会向下转换)。

我知道你知道图书馆在哪里,但为了 SO 的后代:

http://rusticisoftware.github.io/TinCanJS/

另请注意,这只会返回 LRS 的第一页语句,然后您需要处理 LRS 返回的“更多”URL 以递归地获取下一页。 TinCanJS 也提供了一个简单的方法来做到这一点。

关于jquery - 从 SCORM Cloud LRS 检索 Tin Can API 语句列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24124663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com