Conosco già i gravatars e gli avatar dei sistemi esterni, ma sarebbe possibile assegnare l’avatar di un utente a un’immagine esterna diversa? Nel mio caso, l’utente non dovrebbe poter modificare il proprio avatar; invece, quest’ultimo è determinato da un altro sistema che specifica quale debba essere.
In una parte di questo “sistema”, posso effettuare una richiesta PUT per aggiornare l’avatar di un utente, ad esempio:
$.ajax({
url: 'https://example.com/site/selectable-avatars.json',
type: 'GET',
success: function(data) {
const payload = {
url: data[1] // Per ora hardcoded. Verrà assegnato in seguito in base ad alcuni dati
}
$.ajax({
url: 'https://example.com/u/' + username + '/preferences/avatar/select',
type: 'PUT',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Api-Key': 'my-api-key',
'Api-Username': 'my-api-username'
},
data: JSON.stringify(payload),
success: function(data, textStatus) {
console.log(data, textStatus);
}
})
}
)}
E questo funziona perfettamente, assegnando l’immagine dell’avatar all’immagine passata, che in questo caso è hardcoded come data[1]. I data sono un array di immagini, impostato nelle opzioni di Discourse come “avatar selezionabili”.
Il problema è che l’URL dell’immagine viene effettivamente costruito come https://example.com/${url} invece di essere semplicemente url.
Credo che la questione si riduca a questo: sarebbe possibile impostare il file dell’avatar su un’immagine esterna (da un altro dominio) invece che su un’immagine interna e/o esiste un modo migliore per fare ciò che sto cercando di ottenere?
Grazie per il vostro tempo.