Как создать правильный HTTP API-вызов для Matomo - PullRequest
0 голосов
/ 06 ноября 2018

Я новичок в использовании 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 Ответ

0 голосов
/ 06 ноября 2018

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

...