Я знаю, что для каждого отчета администратора существует .json API для получения данных. Меня интересует отчет topics_with_no_response, и я смог отфильтровать его по категории через https://xxx.com/admin/reports/topics_with_no_response?end_date=2023-06-16&filters=%7B%22category%22%3A7%2C%22include_subcategories%22%3Atrue%7D&mode=table&start_date=2023-06-14. Однако, если я переключаюсь на JSON-эндпоинт через https://xxx.com/admin/reports/topics_with_no_response.json?end_date=2023-06-16&filters=%7B%22category%22%3A7%2C%22include_subcategories%22%3Atrue%7D&mode=table&start_date=2023-06-14, данные не возвращаются.
Используется ли разный синтаксис для запросов к этим двум эндпоинтам?
Можешь привести пример POST-запроса? Что должно быть в теле запроса? Я попробовал просто заменить GET на POST с тем же URL, но, похоже, это не работает.
Когда я переключился на POST и передал все параметры запроса в теле POST-запроса, получил ошибку “Страница не найдена”. Однако мне удалось использовать POST для выполнения запросов в Data Explorer. Есть какие-то идеи? Спасибо!
Посмотрите статью Обратная разработка API Discourse. Когда я пытаюсь применить этот подход для отчёта «Темы без ответов», я вижу, что делаются GET-запросы, подобные следующим:
Кодированные параметры запроса можно получить во вкладке «Сеть» (Network) в инструментах разработчика вашего браузера. С этим URL вы сможете выполнить что-то вроде:
Вам нужно установить api_key в значение глобального API-ключа для всех пользователей — я не думаю, что существует какая-то конкретная область доступа (scope), подходящая для отчётов.
Обратите внимание, что к URL необходимо добавлять расширение json (http://localhost:4200/admin/reports/bulk.json).