使用 TinCan 从 Learning Locker LRS 中获取语句 API
Fetching statements from Learning Locker LRS using TinCan API
我正在尝试通过 PHP 和 TinCanPHP API 对存储在 Learning Locker 中的语句执行查询。通过这个 answer,我能够从 Learning Locker 获取响应。以下是回复的一部分:
TinCan\LRSResponse Object
(
[success] => 1
[content] => TinCan\StatementsResult Object
(
[statements:protected] => Array
(
[0] => TinCan\Statement Object
(
[id:protected] => 9ea9e6b6-8278-4545-a02c-c46113f3ba30
[stored:protected] => 2016-02-28T12:04:01.670600+00:00
[authority:protected] => TinCan\Agent Object
(
[objectType:protected] => Agent
[name:protected] => New Client
[mbox:protected] => mailto:hello@learninglocker.net
[mbox_sha1sum:protected] =>
[openid:protected] =>
[account:protected] =>
)
[version:protected] => 1.0.0
[attachments:protected] => Array
(
)
[actor:protected] => TinCan\Agent Object
(
[objectType:protected] => Agent
[name:protected] => Subhayan Roy
[mbox:protected] => mailto:subhayanroy5@gmail.com
[mbox_sha1sum:protected] =>
[openid:protected] =>
[account:protected] =>
)
[verb:protected] => TinCan\Verb Object
(
[id:protected] => http://activitystrea.ms/schema/1.0/search
[display:protected] => TinCan\LanguageMap Object
(
[_map:protected] => Array
(
[en-US] => Searched
)
)
)
返回的语句列表具有 protected
权限,因此我无法访问它们。我如何访问报表?我在这里错过了什么?
您需要使用库中内置的方法。在这种情况下,您需要的是 getStatements。
$statementResult->content->getStatements();
要回答您接下来要问的问题(为什么我没有在结果中返回所有语句?),请查看语句结果 getMore 方法,它为您提供更多 URL 和Remote LRS moreStatements 方法接受 more URL 并获取下一批语句。请参阅此代码示例:https://github.com/garemoko/TinBadgesPHP/blob/b8789042f4af23f0f7927596e8e7f2a06655db72/TinBadges/RemoteLRS.php#L84-L96
我正在尝试通过 PHP 和 TinCanPHP API 对存储在 Learning Locker 中的语句执行查询。通过这个 answer,我能够从 Learning Locker 获取响应。以下是回复的一部分:
TinCan\LRSResponse Object
(
[success] => 1
[content] => TinCan\StatementsResult Object
(
[statements:protected] => Array
(
[0] => TinCan\Statement Object
(
[id:protected] => 9ea9e6b6-8278-4545-a02c-c46113f3ba30
[stored:protected] => 2016-02-28T12:04:01.670600+00:00
[authority:protected] => TinCan\Agent Object
(
[objectType:protected] => Agent
[name:protected] => New Client
[mbox:protected] => mailto:hello@learninglocker.net
[mbox_sha1sum:protected] =>
[openid:protected] =>
[account:protected] =>
)
[version:protected] => 1.0.0
[attachments:protected] => Array
(
)
[actor:protected] => TinCan\Agent Object
(
[objectType:protected] => Agent
[name:protected] => Subhayan Roy
[mbox:protected] => mailto:subhayanroy5@gmail.com
[mbox_sha1sum:protected] =>
[openid:protected] =>
[account:protected] =>
)
[verb:protected] => TinCan\Verb Object
(
[id:protected] => http://activitystrea.ms/schema/1.0/search
[display:protected] => TinCan\LanguageMap Object
(
[_map:protected] => Array
(
[en-US] => Searched
)
)
)
返回的语句列表具有 protected
权限,因此我无法访问它们。我如何访问报表?我在这里错过了什么?
您需要使用库中内置的方法。在这种情况下,您需要的是 getStatements。
$statementResult->content->getStatements();
要回答您接下来要问的问题(为什么我没有在结果中返回所有语句?),请查看语句结果 getMore 方法,它为您提供更多 URL 和Remote LRS moreStatements 方法接受 more URL 并获取下一批语句。请参阅此代码示例:https://github.com/garemoko/TinBadgesPHP/blob/b8789042f4af23f0f7927596e8e7f2a06655db72/TinBadges/RemoteLRS.php#L84-L96