Как создать правильный 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
вернуть неограниченные результаты).