我正在使用 Learning Locker(学习记录存储)。我通过 REST API 成功地向它插入语句。但我没有成功从中获取语句。如何对语句进行查询?REST API?
问问题
2171 次
2 回答
2
我使用了 tinCanPhp 库。这就是您与 Learning Locker 数据库建立连接并在 PHP 中查询它的方式。例如:
$lrs = new TinCan\RemoteLRS(
'endpoint/public/data/xAPI/',
'1.0.1',
'username',
'key'
);
$actor = new TinCan\Agent(
[ 'mbox' => 'mailto:dikla@gmail.com' ]
);
$verb = new TinCan\Verb(
[ 'id' => 'http://adlnet.gov/expapi/verbs/progressed' ]
);
$activity = new TinCan\Activity(
[ 'id' => 'http://game.t-shirt' ]
);
$statement = new TinCan\Statement(
[
'actor' => $actor,
'verb' => $verb,
'object' => $activity,
]
);
//get All Actor activity by his unique id
function getAllActorActivity($actorUri){
global $lrs;
$actor = new TinCan\Agent(
[ 'mbox' => $actorUri ]//actorUri should look like this 'mailto:dikla@gmail.com'
);
$answer=$lrs->queryStatements(['agent' => $actor]);
return $answer;
}
于 2014-10-26T14:29:46.890 回答
1
如果是通过 javascript,您可以使用 ADL xAPI Wrapper。它简化了与 LRS 的通信...... https://github.com/adlnet/xAPIWrapper#get-statements
通常,您在端点 /statements 上执行 GET 请求......首先尝试一下,看看您是否收到带有“statements”和“more”属性的 json 响应。然后,如果可行,您可以使用过滤器缩小结果范围。有关详细信息和选项,请参阅规范。https://github.com/adlnet/xAPI-Spec/blob/master/xAPI.md#stmtapiget
试试那个 curl 命令..它应该返回一个语句结果,尽管来自 ADL LRS ......
curl --user tom:1234 获取https://lrs.adlnet.gov/xapi/statements
于 2014-10-23T16:55:07.023 回答