0

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

这是确实有效的字符串:

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方法吗?我缺少参数吗?我究竟做错了什么?

任何指针表示赞赏!

4

1 回答 1

3

正如您在API 参考中看到的,该方法没有被调用API.getDownloads,而是被调用Actions.getDownloads

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

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

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

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

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

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

于 2018-11-06T14:51:33.237 回答