【问题标题】:Query Count of Specific Event Action in PiwikPiwik 中特定事件操作的查询计数
【发布时间】:2015-06-16 11:16:45
【问题描述】:

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

Category: Staff 
Action: Login 

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

【问题讨论】:

  • 我已经改进了我的答案,以更好地匹配您的要求。

标签: php matomo


【解决方案1】:

这是有关Events API 的文档。

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

  • Events.getCategory
  • Events.getAction

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

nb_events 可能是您应该用来获取每个类别或操作的事件数的那个。下面是一个查询事件类别列表的例子:

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 文档。在您的情况下,您必须像这样调用事件 API:

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

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

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

然后得到周期内的事件数:

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

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

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

【讨论】:

  • 感谢您真正深入的解释!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-20
  • 2020-04-16
  • 2014-05-10
  • 1970-01-01
相关资源
最近更新 更多