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

Ciao, abbiamo installato il plugin “Solved” e stiamo creando categorie programmaticamente utilizzando uno script Python. Vogliamo impostare questi campi di impostazione della categoria su “True”. Durante l’esecuzione dello script, dice che è stato aggiornato correttamente, ma quando controlliamo il campo delle impostazioni di questa categoria, non è impostato su “True” ed è ancora su “False”. Come possiamo eseguire il debug e risolvere questo problema?

2 Mi Piace

Seguo sempre Reverse engineer the Discourse API per queste domande.

5 Mi Piace

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:

Grazie Mihir, ha aiutato a risolvere questo problema. Apprezzo il tuo contributo e i tuoi suggerimenti.

1 Mi Piace

Grazie Thomas per aver indicato questo approccio.

Sono contento che sia stato d’aiuto :slight_smile: