Ho uno script che viene eseguito quotidianamente per creare nuovi utenti tramite l’API. Fino a pochi giorni fa, al completamento della richiesta POST, la risposta includeva l’user_id dell’utente appena creato. Ora l’API non lo fa più? Ma la documentazione dell’API indica che dovrebbe.
L’utente viene creato?
La mia ipotesi è che per qualche motivo l’utente non venga creato ed è per questo che non restituisce lo user_id.
Gli utenti vengono creati. Ho confermato. E l’API restituisce questo stato ma manca lo user_id
{
"success": true,
"active": true,
"message": "Il tuo account è stato attivato ed è pronto per l'uso."
}
Sì. Sembra un bug, allora. Ho cercato spiegazioni su Commits · discourse/discourse · GitHub ma non ne ho trovata nessuna.
Per confermare il problema, ho creato un utente tramite l’API su 3.4.0.beta3-dev e ha restituito user_id nella risposta.
{
"success": true,
"active": true,
"message": "Il tuo account è attivo e pronto all'uso.",
"user_id": 3
}
L’ho fatto di nuovo dopo l’aggiornamento a 3.4.0.beta4-dev e user_id è quindi mancante:
{
"success": true,
"active": true,
"message": "Il tuo account è attivo e pronto all'uso."
}
Quindi hai ristretto il campo su dove si trova il commit errato.
Solo una intuizione
probabilmente correlato a DEV: Change hide_email_address_taken default to true (#30293) · discourse/discourse@c1c7ea8 · GitHub spiegato qui:
Suppongo che sarebbe desiderabile sovrascrivere questo comportamento quando si tratta di una richiesta effettuata utilizzando una chiave API di amministrazione?
Grazie! La modifica di tale impostazione ha ripristinato il risultato dell’API in modo da ottenere l’user_id nel risultato dopo aver creato un utente.
Ciao,
Anche qui…
È qualcosa su cui gli sviluppatori stanno lavorando attivamente? Perché potrebbe essere complicato ricordare che queste impostazioni contrastano la documentazione ![]()