Como consultar a API topics_with_no_response.json com filtros

Eu sei que para cada relatório de administrador, existe uma API .json para buscar os dados. O relatório que me interessa é topics_no_response e consegui filtrar por categoria via 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. No entanto, se eu mudar para o endpoint json via 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, ele não retorna os dados.

Temos sintaxe diferente para consultar esses dois endpoints?

Você precisa usar POST em vez de GET por algum motivo estranho.

Olá @RGJ,

Você poderia me dar um exemplo da requisição POST? Qual deveria ser o corpo? Tentei apenas mudar GET para POST com a mesma URL, mas parece que não funcionou.

Você obviamente precisará passar os parâmetros de consulta (ou seja, tudo após o ?) como os dados POST.

Veja também Run Data Explorer queries with the Discourse API

Quando mudei para POST e passei todos os parâmetros de consulta como dados POST, recebi “Página Não Encontrada”. No entanto, consegui usar POST para executar consultas no explorador de dados. Você tem alguma ideia? Obrigado!

Dê uma olhada em Engenharia reversa da API do Discourse. Quando tento essa abordagem para o relatório Tópicos sem resposta, vejo que ele faz requisições GET semelhantes a:\n\nhttp://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\n\nVocê pode obter os parâmetros de consulta codificados na aba Rede do inspetor do seu navegador. Com esse URL, você deve ser capaz de fazer algo como:\n\n\ncurl -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\" \\\n-H \"Api-Key: $api_key\" \\\n-H \"Api-Username: system\"\n\n\nVocê precisará definir api_key para uma chave de API global de Todos os Usuários - não acho que haja um escopo específico que possa ser usado para os relatórios.\n\nNote que você precisa adicionar a extensão json ao URL (http://localhost:4200/admin/reports/bulk.json)

1 curtida

Obrigado @simon, funcionou!!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.