各カテゴリで「Solved」フィールドをプログラム的に有効にする方法

私の知る限り、スクリプトでカテゴリを作成している場合、カテゴリを追加するために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)

追伸:これについては完全には確信がありませんが、最近いくつかのスクリプトを作成したので、この応答はこれまでに遭遇したことに基づいています。:slightly_smiling_face: