Piwik中特定事件动作的查询计数

时间:2015-04-10 16:35:32

标签: php matomo

我需要使用Piwik为我的组织制作一个小部件/插件,但我有点迷失。我们向Piwik发送自定义活动,例如:

Category: Staff 
Action: Login 

我如何在小部件/插件中查询piwik以获取与该特定类别/操作匹配的事件数?

1 个答案:

答案 0 :(得分:3)

以下是有关Events API

的文档

您可能会对以下两种方法感兴趣:

  • Events.getCategory
  • Events.getAction

他们将返回映射到nb_uniq_visitorsnb_visitsnb_events的操作/类别列表。

nb_events可能是您应该用来获取每个类别或操作的事件数量的$table = \Piwik\API\Request::processRequest('Events.getCategory', array( 'idSite' => $idSite, 'period' => $period, 'date' => $date, )); 。以下是查询事件类别列表的示例:

http://demo.piwik.org/?module=API&method=Events.getCategory&idSite=7&period=day&date=today&format=xml&token_auth=anonymous

请注意,您不需要为此编写Piwik插件,只需查询Reporting API即可。但是,如果您想在Piwik中显示这些数字,那么您确实需要编写插件。


编辑你想知道如何从自定义Piwik插件中获取该列表。

查看Calling APIs of other plugins文档。在您的情况下,您必须像这样调用Events API:

$row = $table->getRowFromLabel('Staff');

获得该表后,您可以找到您感兴趣的行:

$numberOfEvents = $row->getColumn('nb_events');

然后获取期间内的事件数量:

$table = \Piwik\API\Request::processRequest('Events.getCategory', array(
    'idSite'      => $idSite,
    'period'      => $period,
    'date'        => $date,
    'label'       => 'Staff',
    'showColumns' => 'nb_events',
));

请注意,您还可以优化对API的调用,以过滤并仅获取您要搜索的标签以及您正在使用的列:

{{1}}