Non credo sia possibile recuperare il valore di una chiave API tramite l’API. Discourse non salva le chiavi API non crittografate nel database. Anche se potessi recuperare il valore crittografato, non ci sarebbe modo di decifrarlo sulla tua applicazione.
Puoi spiegare meglio il tuo caso d’uso? Se una chiave API utente è già stata generata per un utente, non mi è chiaro perché debba approvare l’autorizzazione una seconda volta.
Modifica: è possibile utilizzare una chiave API amministratore per generare una chiave API per un utente. Alcuni dettagli sono qui: Generate User Api Key Without User Approval - #2 by simon
Rileggendo il mio post, vedo che non ho spiegato come è stata impostata la variabile $json per la richiesta. Il modo più semplice per capire come strutturare i dati è effettuare una richiesta per generare una singola chiave API utente con gli ambiti che si desidera utilizzare tramite l’interfaccia utente di Discourse, quindi osservare il valore del payload della richiesta inviato con la richiesta a /admin/api/keys:
