Come abilitare questo campo - "Solved" - programmaticamente per ogni categoria

Per quanto ne so, se stai creando categorie con uno script, presumo che tu stia usando JSON per aggiungere le categorie. Dovresti apportare alcune modifiche all’endpoint e allo script. Puoi anche fare riferimento a questa documentazione: Discourse Categories API.

Tuttavia, Discourse è uno strumento potente. Puoi consultare questa guida: Reverse Engineering the Discourse API. Poiché Discourse è supportato da una completa API JSON, puoi effettuare il reverse engineering, apportare le modifiche necessarie e farlo funzionare come desideri.

Un rapido suggerimento:

  • Modifica manualmente l’impostazione desiderata “Risolto” nell’interfaccia utente.
  • Ispeziona le richieste di rete effettuate dal browser per identificare l’endpoint API esatto, il metodo di richiesta (ad esempio, PUT) e il payload.

In uno script Python sarebbe qualcosa di simile a questo:

payload = {
        "enable_solved": True  # Modifica questo
    }

    response = requests.put(url, headers=headers, json=payload)
    if response.status_code == 200:
        print("Categoria aggiornata")
    else:
        print(f"Fallito: {response.status_code} - {response.text}")

update_category_settings(category_id=123)

PS: Non sono del tutto sicuro di questo, ma di recente ho creato alcuni script, quindi questa risposta si basa sulle cose che ho incontrato finora. :slightly_smiling_face: