继续用锡罐说话 api
Resume in articulate with tin-can api
我正在尝试在我的 LRS 中实现此端点 activities/state/?method=GET - 但我似乎无法使恢复功能正常工作。我拥有所有数据,但不确定 Articulate 期望 LRS return 做什么以便从用户停止的地方恢复。我也尝试查看 Articulate 支持页面,但到目前为止没有任何用处。任何帮助将不胜感激。
我建议先用 http://tincanapi.com/prototypes/ 的 Golf Prototype 进行测试,以便您知道问题出在 LRS 上。在 Internet Explorer 和其他浏览器(例如 Chrome)中尝试原型;行为上的任何差异都可能是一个线索。
另请查看 Chrome 开发人员工具中的网络选项卡,让我们知道是否有任何请求失败以及正在从 State 存储和检索的内容。
状态 API 应该如何工作的完整细节可以在规范中找到。这是 1.0.2 版中的相关部分:https://github.com/adlnet/xAPI-Spec/blob/a752217060b83a2e15dfab69f8c257cd86a888e6/xAPI.md#stateapi
还值得注意的是,building an LRS is hard. There are a number of commercial and open source LRS 这可能比自己建造一个便宜。
它正在寻找要返回的状态字符串。这只是保存状态(书签)时发出的一个长字符串。
我设法让它工作了。我使用的是 .NET Web API.
我必须明确地将 content-type
header 设置为 octet-stream
- 它默认为 text/html
。
下面的代码起到了作用:
HttpResponseMessage httpResponseMessage = Request.CreateResponse(HttpStatusCode.OK);
httpResponseMessage.Content = new StringContent(studentModuleName.SuspendData);
httpResponseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
我正在尝试在我的 LRS 中实现此端点 activities/state/?method=GET - 但我似乎无法使恢复功能正常工作。我拥有所有数据,但不确定 Articulate 期望 LRS return 做什么以便从用户停止的地方恢复。我也尝试查看 Articulate 支持页面,但到目前为止没有任何用处。任何帮助将不胜感激。
我建议先用 http://tincanapi.com/prototypes/ 的 Golf Prototype 进行测试,以便您知道问题出在 LRS 上。在 Internet Explorer 和其他浏览器(例如 Chrome)中尝试原型;行为上的任何差异都可能是一个线索。
另请查看 Chrome 开发人员工具中的网络选项卡,让我们知道是否有任何请求失败以及正在从 State 存储和检索的内容。
状态 API 应该如何工作的完整细节可以在规范中找到。这是 1.0.2 版中的相关部分:https://github.com/adlnet/xAPI-Spec/blob/a752217060b83a2e15dfab69f8c257cd86a888e6/xAPI.md#stateapi
还值得注意的是,building an LRS is hard. There are a number of commercial and open source LRS 这可能比自己建造一个便宜。
它正在寻找要返回的状态字符串。这只是保存状态(书签)时发出的一个长字符串。
我设法让它工作了。我使用的是 .NET Web API.
我必须明确地将 content-type
header 设置为 octet-stream
- 它默认为 text/html
。
下面的代码起到了作用:
HttpResponseMessage httpResponseMessage = Request.CreateResponse(HttpStatusCode.OK);
httpResponseMessage.Content = new StringContent(studentModuleName.SuspendData);
httpResponseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");