Привет, команда,
В компании, где я работаю, развернут хостинговый пакет Discourse как для внутренних, так и для внешних клиентов.
Как администратор форума, я выполняю ряд функций по формированию отчетов о активности пользователей за двухнедельные, месячные и годовые периоды.
Фиксированные периоды отчетности (All_Time, Year, Quarter, Month, Week и Day) доступны, однако все они привязаны к Current_Date. Поэтому мне необходимо формировать отчеты по конкретным диапазонам дат 01 января 20XX – 31 декабря 20XX, используя прямой Search API и команду Curl.
Отчеты по одному пользователю (Single_User) по категориям или за произвольный период времени просты, но сложности начинаются, когда я пытаюсь использовать опцию group_messages: groupname или несколько опций одновременно в команде Curl.
Базовая команда, которую я использую для всех поисков, выглядит так:
curl -i -sS -X GET -G “https://discuss.domainname.com/search.json” --data-urlencode
‘q=subject @username #questions after:2021-12-31’
| tail -n 1
| jq .topics
| sed “s|: "|:"|g”
| grep slug
| cut -d “"” -f4
Затем результаты обрабатываются с помощью Bash, Awk и т. д. и сохраняются в файл .CSV для удобного импорта в Google Sheets.
В документации по поиску утверждается, что можно использовать несколько опций внутри каждой категории опций, например in:title, in:likes, in:seen и т. д., однако мне не удается получить корректный результат при использовании более чем одной опции in:option.
В документации упоминается использование group_messages: groupname, но если я добавляю эту опцию в приведенный выше запрос Curl, результат всегда пустой. Я пробовал с множеством групп на нашем форуме.
В идеале мне нужно запускать поиски через Curl для формирования следующих отчетов:
small_team_name | Topics_Created | Replies_Posted | Date_Range
large_team_name | Topics_Created | Replies_Posted | Date_Range
Не могли бы вы подсказать, где я могу ошибаться, или предложить более эффективный метод?
С уважением, DDBM001.