Jetez un coup d’œil à Ingénierie inverse de l’API Discourse. Lorsque j’essaie cette approche pour le rapport « Sujets sans réponse », je vois qu’il effectue des requêtes GET similaires à :
http://forum.example.com/admin/reports/bulk?reports%5Btopics_with_no_response%5D%5Bfacets%5D%5B%5D=prev_period&reports%5Btopics_with_no_response%5D%5Bstart_date%5D=2022-02-01&reports%5Btopics_with_no_response%5D%5Bend_date%5D=2023-06-17&reports%5Btopics_with_no_response%5D%5Blimit%5D=50
Vous pouvez obtenir les paramètres de requête encodés dans l’onglet Réseau de l’inspecteur de votre navigateur. Avec cette URL, vous devriez pouvoir faire quelque chose comme :
curl -X GET "http://localhost:4200/admin/reports/bulk.json?reports%5Btopics_with_no_response%5D%5Bfacets%5D%5B%5D=prev_period&reports%5Btopics_with_no_response%5D%5Bstart_date%5D=2022-05-16&reports%5Btopics_with_no_response%5D%5Bend_date%5D=2022-09-10&reports%5Btopics_with_no_response%5D%5Blimit%5D=50" \
-H "Api-Key: $api_key" \
-H "Api-Username: system"
Vous devrez définir api_key sur une clé API globale pour tous les utilisateurs - je ne pense pas qu’il existe de portée spécifique qui puisse être utilisée pour les rapports.
Notez que vous devez ajouter l’extension json à l’URL (http://localhost:4200/admin/reports/bulk.json)