2

我正在使用 Learning Locker(学习记录存储)。我通过 REST API 成功地向它插入语句。但我没有成功从中获取语句。如何对语句进行查询?REST API?

4

2 回答 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 回答