Penso che ciò sia dovuto all’impostazione del sito discourse connect overrides avatar.
Sostituisce l’avatar dell’utente con il valore del payload di DiscourseConnect. Se abilitato, agli utenti non sarà consentito caricare avatar su Discourse.
Sul mio sistema locale con questa opzione deselezionata, ottengo una risposta http 200 durante l’aggiornamento dell’avatar tramite l’API:
curl -i -sS -X PUT "http://localhost:4200/u/10614bb2d4eacd328c45/preferences/avatar/pick.json" \
-H "Content-Type: multipart/form-data" \
-H "Api-Key: 6cea489d21282803c446fd2e9d236901c3d186f36079911833db4b57c43c01d5" \
-H "Api-Username: blake.erickson" \
-F "upload_id=57" \
-F "type=uploaded"
HTTP/1.1 200 OK
E ottengo un 422 con questa impostazione selezionata:
curl -i -sS -X PUT "http://localhost:4200/u/021ca796a01ad178bc52/preferences/avatar/pick.json" \
-H "Content-Type: multipart/form-data" \
-H "Api-Key: 6cea489d21282803c446fd2e9d236901c3d186f36079911833db4b57c43c01d5" \
-H "Api-Username: blake.erickson" \
-F "upload_id=57" \
-F "type=uploaded"
HTTP/1.1 422 Unprocessable Entity
