Как выполнить запрос по жестяным операторам?

Я использую Learning Locker (Learning Record Store). Мне удалось вставить в него операторы через REST API. Но получить от него выписки мне не удалось. Как предварительно сформировать запрос к операторам? РЕСТ API?


person Dikla Behor    schedule 23.10.2014    source источник


Ответы (2)


Я использовал библиотеку tinCanPhp. Вот как вы устанавливаете соединение с базой данных Learning Locker и запрашиваете ее в PHP. Например:

    $lrs = new TinCan\RemoteLRS(
            'endpoint/public/data/xAPI/',
            '1.0.1',
            'username',
            'key'
    );

    $actor = new TinCan\Agent(
            [ 'mbox' => 'mailto:[email protected]' ]
    );
    $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:[email protected]'
        );
        $answer=$lrs->queryStatements(['agent' => $actor]);
        return $answer;
    }
person Dikla Behor    schedule 26.10.2014

Если это через javascript, вы можете использовать ADL xAPI Wrapper. Это упрощает взаимодействие с LRS... https://github.com/adlnet/xAPIWrapper#get-statements

В общем, вы делаете запрос GET для конечной точки/операторов... сначала попробуйте именно это и посмотрите, получите ли вы ответ 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

person tom creighton    schedule 23.10.2014
comment
Я работаю с PHP, и у меня работает команда fopen. Можете ли вы привести пример того, как отфильтровать результат? Я прочитал спецификацию, но я все еще не понимаю, как ее кодировать. - person Dikla Behor; 26.10.2014
comment
Спасибо за помощь. Это сработало :) Я добавил ответ о том, как это закодировать в php - person Dikla Behor; 26.10.2014