0

我正在研究 tincan JavaScript API。我的数据格式的问题是完全改变,TinCan 已经指定了为什么将数据与调用一起传递。帮助我以 TinCan Api 格式调整我的数据。这是我的电话之一的示例数据。

var data = {“groupId”:“groupId”,“groupName”:“gNameEncrypt”,“tutorNames”:“tutorNames”,“actorNames”:“actorNames”,“otherNames”:“otherNames”};

目前我在做什么我只是解码这些数据并像这样发送它。

var actionList = new TinCan(
    {
    recordStores: [{
                       endpoint: "http://example.com",
                       username: username,
                       password: password,
                       allowFail: false
                  }]
});

                var action = new TinCan.Agent({
                    "name": "insert"
                });

                actionList.getStatements({
                    'params': {
                        'agent': action,
                        'verb': {
                            'id': $.base64.encode(data)
                        }
                    },
                    'callback': function (err, data) {
                        console.info(data.more);
                        var urlref = "http://<?php echo $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . $uriParts[0] . "?" ?>t=" + data.more.TutorToken;
                        window.location.href = urlref;
                    }
                });
                crypt.finish();
            });
4

1 回答 1

0

这里实际上有两部分,1) 需要将数据转换为 xAPI(以前称为 Tin Can)格式,以及 2) 代码本身。

1)我认为您需要再看一下xAPI的一般使用方式。数据存储在 JSON“语句”对象中,该对象具有 3 个必需属性和各种其他可选属性。这些属性通常包含非常可扩展的复杂对象。很难从您展示的内容中分辨出您真正想要捕捉的内容以及最佳方法是什么。我建议阅读一些有关 xAPI 语句格式的材料。http://experienceapi.com/statements-101/是一个很好的起点,并且要至少对所有可能性进行一些覆盖,请继续使用http://experienceapi.com/statements/

2)您列出的代码试图根据两个参数获取已存储的语句,而不是尝试存储语句。两个参数是“代理”和“动词”。在这种情况下,我们无法分辨动词应该是什么,因为我们不知道data包含什么,我怀疑这作为一个旨在成为语句动作的动词是没有意义的。话虽如此,“演员”的价值action是值得怀疑的,因为这听起来更像是“动词”应该包含的内容。将语句作为#1 的一部分正确处理应该清楚您将如何检索这些语句。至于存储这些语句,如果您使用的是TinCan接口对象,则需要使用sendStatement该对象的方法。但是不再推荐这个接口,推荐的做法是构造一个TinCan.LRS对象并直接与之交互,在这种情况下你将使用该saveStatement方法。我建议在这里查看项目主页的“基本用法”部分:http ://rusticisoftware.github.io/TinCanJS/更多细节请查看 API 文档:http ://rusticisoftware.github.io/TinCanJS /doc/api/最新/

于 2017-07-15T13:21:30.020 回答