Non riesco a capire l'API per aggiungere e rimuovere i proprietari di gruppo

Vorrei aggiungere e rimuovere proprietari di gruppi tramite API. Questo non è documentato nella documentazione API.

Tracciando le chiamate mentre sono loggato come amministratore, “make user owner” è

PUT groups/<gid>/owners con un payload di usernames=nikkilocke (nota: niente admin!)

Rimuovere utente dai proprietari è

DELETE admin/groups/<gid>/owners con un payload di user_id=<uid>

Studiando il codice sorgente si vede:


      def group_add_owners(group_id, args)
        args = API.params(args).required(:usernames).to_h
        put("/admin/groups/#{group_id}/owners.json", group: args)
      end

      def group_remove_owners(group_id, args)
        args = API.params(args).required(:usernames).to_h
        delete("/admin/groups/#{group_id}/owners.json", group: args)
      end

e questo codice non sembra essere cambiato dal 2023.

Sto eseguendo Discourse 3.4.7 e il punto di ingresso “add owners” nel codice sorgente restituisce un errore 404.

URL che ho provato:

PUT /groups/384/owners usernames=nikkilocke OK

PUT /admin/groups/384/owners group[usernames]=nikkilocke errore 404

DEL /admin/groups/384/owners group[usernames]=nikkilocke OK

DEL /admin/groups/384/owners user_id = 12 OK

Qualcuno può consigliarmi cosa sta succedendo e quali URL usare per questo, per favore?

Presumo che sia un errore di battitura e non la causa del tuo errore?

2 Mi Piace

La migliore e più sicura documentazione per l’API è Ingegnerizzare al contrario l’API di Discourse

Sei sicuro di avere una chiave API valida e di passarla correttamente? Un errore 404 è previsto se non sei autenticato correttamente.

Sei in grado di effettuare richieste che richiedono l’autorizzazione?

Come ho detto nel post originale, 3 delle 4 possibilità funzionano bene (con la stessa API key).

1 Mi Piace

Ah. Mi dispiace. L’“OK” alla fine della riga è stato in qualche modo troppo sottile per me da seguire.

Quando aggiungo un proprietario, vedo questa richiesta PUT https://example.com/groups/75/owners.json con usernames=\npfaffman123 nei dati del modulo.

Hai seguito i passaggi di reverse engineering che ho collegato?

@Nikki_Locke sei riuscito a risolvere il tuo problema?

Questo argomento è stato chiuso automaticamente dopo 6 giorni. Non sono più consentite nuove risposte.