jjyao
1
管理レポートごとに、データを取得するための.json APIがあることは承知しています。私が関心のあるレポートはtopics_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。しかし、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経由でJSONエンドポイントに切り替えても、データが返されません。
これらの2つのエンドポイントをクエリするために、異なる構文を使用していますか?
RGJ
(Richard - Communiteq)
2
なぜか GET ではなく POST を使用する必要があります。
jjyao
3
RGJさん、こんにちは。
POSTリクエストの例を教えていただけますか?ボディは何を入れるべきでしょうか?GETを同じURLでPOSTに変更してみましたが、うまくいかないようです。
RGJ
(Richard - Communiteq)
4
POST データとしてクエリパラメータ(つまり ? の後のすべて)を渡す必要があることは明らかです。
関連項目 Run Data Explorer queries with the Discourse API
jjyao
5
POST に切り替えて、すべてのクエリ パラメータを POST データとして渡すと、「ページが見つかりません」というエラーが発生しました。ただし、POST を使用してデータ エクスプローラー クエリを実行することはできました。何か考えはありますか?よろしくお願いします!
simon
6
Reverse engineer the Discourse API を確認してください。Topics With no Response レポートでそのアプローチを試したところ、次のような GET リクエストが送信されていることがわかりました。
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
エンコードされたクエリパラメータは、ブラウザインスペクタの Network タブから取得できます。その URL を使用して、次のようなことができます。
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"
api_key は、All Users Global API キーに設定する必要があります。レポートに使用できる特定のスコープはないと思われます。
URL に json 拡張子を追加する必要があることに注意してください (http://localhost:4200/admin/reports/bulk.json)。
「いいね!」 1
jjyao
7
@simonさん、ありがとうございます。うまくいきました!
system
(system)
クローズされました:
8
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.