【问题标题】:How to build a proper HTTP API call for Matomo如何为 Matomo 构建正确的 HTTP API 调用
【发布时间】:2018-11-06 14:27:51
【问题描述】:

我是使用 API 的新手,但一直在阅读它。我的任务是将数据从 API 导入 CSV 文件。我创建了一个有效的导入字符串(来自示例)。尽管阅读了documentation 页面和一个工作示例,但我还没有得到我需要工作的实际报告。

这是有效的字符串:

myURL = "https://admin.metrics.mysite.com/?module=API" _
& "&method=API.get&idSite=9&period=day&date=last30&format=tsv&translateColumnNames=1" _
& "&token_auth=" & myToken

我需要的是所有已下载文件的月度报告。

这是我的最后一次尝试(已经尝试了许多变体):

Dim myToken As String
myToken = "secrettokenhere"
myURL = "https://admin.metrics.mysite.com/?module=API" _
    & "&method=API.getDownloads" _
    & "&idSite=9" _
    & "&period=day" _
    & "&date=2018-11-05" _
    & "&segement=''" _
    & "&expanded=''" _
    & "&idSubtable=''" _
    & "&flat=''" _
    & "&format=tsv" _
    & "&filter_limit=10" _
    & "&token_auth=" & myToken

当我运行它时,我得到的错误信息是这样的:

错误:方法“getDownloads”不存在或在 模块'\Piwik\Plugins\API\API'。

我被困在最基本的事情上...我使用的是正确的get 方法吗?我缺少参数吗?我做错了什么?

任何指针表示赞赏!

【问题讨论】:

  • 您好,如果您能提及您使用的编程语言,那就太好了。
  • 我认为这与问题无关,但我更新了主要问题以包含 VBA 标记以及有效的字符串示例

标签: vba matomo piwiktracker


【解决方案1】:

正如您在API reference 中看到的,该方法不是称为API.getDownloads,而是称为Actions.getDownloads

现在我更了解您的问题,更详细:

您使用的 API 端点 (API.get) 为您提供每天的下载次数,我认为这不是您想要的。

获得正确端点的最简单方法(除了阅读API reference)是在 Matomo UI 中打开您需要的报告。 如果您想要所有下载的列表,这将是 Behaviour -> Downloads 报告。之后您可以点击表格下方的导出图标,它会显示正确的 API url。

在你的情况下,它现在是?module=API&method=Actions.getDownloads

如果您不想要目录,但想要一个平面列表,您可以添加&flat=1?module=API&method=Actions.getDownloads&flat=1

这应该返回你想要的(也许还添加&filter_limit=-1 以获取无限的结果)。

【讨论】:

  • 这将返回以下消息:“错误:插件操作未启用。您可以在 Matomo 的设置 > 插件页面上激活插件。”不幸的是,我没有看到可以更改此类设置的任何地方。我也不是服务器上应用程序的管理员。
  • 那么你的意思是我之前使用的方法本身就是API?
  • 嗨,我已经扩展了我的答案以显示确切的 API 查询。
  • 我独立得出了相同的答案。不过,非常感谢您的帮助!你的答案是正确的!
猜你喜欢
  • 1970-01-01
  • 2016-08-25
  • 1970-01-01
  • 2013-08-04
  • 1970-01-01
  • 1970-01-01
  • 2013-03-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多