Devo creare gruppi in massa utilizzando l'API

Ciao a tutti,

Devo creare gruppi in massa utilizzando l’API ma il JSON NON accetta un array di valori multipli, funziona solo se creo un gruppo per chiamata API.

Idealmente vorrei effettuare una chiamata di creazione e avere i nomi come array JSON ma ciò genera lo stato:
500 (Internal Server Error)

Mi aspettavo che quanto segue funzionasse ma non è così: aiutatemi! Stiamo parlando di oltre 200 gruppi, sto usando POST per https://{defaultHost}/admin/groups.json proprio come richiesto dalla documentazione.

{
  "group": [
    {
      "name": "X"
    },
    {
      "name": "Y"
    },
    {
      "name": "Z"
    }
]
}

A me sembra che si chiami createGroup e non createGroups. Dice che “Crea un gruppo” e non “Crea tutti i gruppi che vuoi”.

Dovrai ciclare tu stesso sui valori e chiamarlo per ogni gruppo che vuoi aggiungere. Probabilmente vorrai inserire un ritardo o includere del codice che ritenti quando raggiungi i limiti di frequenza.

1 Mi Piace

@pfaffman Fantastico, grazie, ha senso!

~B

1 Mi Piace

@pfaffman Ha funzionato proprio come previsto scrivendo un piccolo script, ma ora sto affrontando un altro problema. L’API consente solo “name” e non “full name”, quindi non ho modo di popolare “full name” utilizzando il metodo create. L’unico campo consentito “name” non consente nemmeno spazi, quindi finisco con un sacco di gruppi con “full name” vuoto e “name” che deve usare “_”

Idealmente, vorrei poter fornire “full name” oltre a “name” durante la creazione di gruppi tramite l’API?

Grazie
Boyan

Ciò non ha senso, poiché l’API è ciò che il front-end utilizza per creare gruppi. Poiché è possibile creare nomi completi nell’UX, è possibile crearli nell’API.

È così che funzionano i nomi dei gruppi.

Per favore, indicami dove specificare il nome completo? Sono rispettosamente in disaccordo sul fatto che l’API sia utilizzata dal front-end, poiché chiaramente posso modificare il nome completo utilizzando il front-end, ma qui non vedo il nome completo?

Mi dispiace. Pensavo di averti indicato Reverse engineer the Discourse API. Raccomando o di usare il metodo di reverse engineering o di guardare direttamente il codice sorgente. Non credo che chiunque stia sviluppando attivamente Discourse utilizzi quella documentazione, quindi non mi fido che sia completa o aggiornata.