こんにちは。「Solved」プラグインをインストールし、Pythonスクリプトでプログラム的にカテゴリを作成しています。このカテゴリ設定フィールドを「True」に設定したいと考えています。スクリプトを実行すると、正常に更新されたと表示されますが、カテゴリ設定フィールドを確認すると、「True」には設定されておらず、依然として「False」のままです。この問題をデバッグして修正するにはどうすればよいでしょうか。
「いいね!」 2
このような質問については、常に Reverse engineer the Discourse API を参照しています。
「いいね!」 5
私の知る限り、スクリプトでカテゴリを作成している場合、カテゴリを追加するためにJSONを使用していると思われます。エンドポイントとスクリプトに変更を加える必要があります。このドキュメントも参照できます。Discourse Categories API。
しかし、Discourseは強力なツールです。このガイドを参照できます。Reverse Engineering the Discourse API。Discourseは完全なJSON APIによってバックアップされているため、リバースエンジニアリングして必要な変更を加え、必要に応じて機能させることができます。
簡単なヒント:
- UIで目的の「解決済み」設定を手動で変更します。
- ブラウザで行われたネットワークリクエストを検査して、正確なAPIエンドポイント、リクエストメソッド(例:「PUT」)、およびペイロードを特定します。
Pythonスクリプトでは、次のようになります。
payload = {
"enable_solved": True # これを調整します
}
response = requests.put(url, headers=headers, json=payload)
if response.status_code == 200:
print("カテゴリが更新されました")
else:
print(f"失敗しました: {response.status_code} - {response.text}")
update_category_settings(category_id=123)
追伸:これについては完全には確信がありませんが、最近いくつかのスクリプトを作成したので、この応答はこれまでに遭遇したことに基づいています。![]()
ありがとうございます、ミヒルさん。この問題の解決に役立ちました。ご意見とご提案に感謝いたします。
「いいね!」 1
トーマスさん、このアプローチを指摘してくれてありがとう。
お役に立てて嬉しいです ![]()
