Как создать правильный HTTP API-вызов для Matomo

Я новичок в использовании 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 метод? Я пропускаю параметры? Что я делаю неправильно?

Любые указатели приветствуются!

1 ответ

Решение

Как вы можете видеть в справочнике по API, метод не вызываетсяAPI.getDownloads, но вместо этогоActions.getDownloads,

Более подробно теперь, когда я понимаю вашу проблему лучше:

Конечный компонент API, который вы используете (API.get) дает вам количество загрузок в день, что я не думаю, что вы хотите.

Самый простой способ получить правильную конечную точку (кроме чтения справочника по API) - открыть нужный отчет в пользовательском интерфейсе Matomo. Если вы хотите список всех загрузок, это будет Behaviour->Downloadsотчет. После этого вы можете нажать на значок экспорта под таблицей, и он покажет вам правильный URL-адрес API.

В вашем случае это было бы сейчас?module=API&method=Actions.getDownloads

Если вы не хотите каталог, но плоский список вы можете добавить&flat=1:?module=API&method=Actions.getDownloads&flat=1,

Это должно вернуть то, что вы хотите (возможно, также добавить &filter_limit=-1 вернуть неограниченные результаты).

Другие вопросы по тегам