Je connais déjà les gravatars et les avatars provenant de systèmes externes, mais serait-il possible d’assigner l’avatar d’un utilisateur à une autre image externe ? Dans mon cas, l’utilisateur ne devrait pas pouvoir modifier son avatar ; celui-ci est déterminé par un autre système qui spécifie quelle image utiliser.
Dans une partie de ce « système », je peux effectuer une requête PUT pour mettre à jour l’avatar d’un utilisateur, par exemple :
$.ajax({
url: 'https://example.com/site/selectable-avatars.json',
type: 'GET',
success: function(data) {
const payload = {
url: data[1] // Pour l'instant en dur. Sera assigné plus tard en fonction de certaines données
}
$.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);
}
})
}
})
Cela fonctionne parfaitement : l’image d’avatar est assignée à l’image transmise, qui est ici en dur sous la forme data[1]. Les data constituent un tableau d’images défini dans les paramètres de Discourse sous le nom « avatars sélectionnables ».
Le problème est que l’URL de l’image est en réalité construite comme https://example.com/${url} plutôt que simplement url.
Je suppose que la question se résume à ceci : est-il possible de définir le fichier d’avatar sur une image externe (provenant d’un autre domaine) plutôt que sur une image interne ? Sinon, existe-t-il une meilleure façon de réaliser ce que j’essaie de faire ?
Merci de votre temps.