我已经了解 Gravatar 和外部系统头像,但能否将用户的头像指定为其他外部图片?在我的场景中,用户不应能够更改头像,而是由另一个系统根据特定规则确定头像。
在这个“系统”的一部分中,我可以调用 PUT 请求来更新用户的头像,例如:
$.ajax({
url: 'https://example.com/site/selectable-avatars.json',
type: 'GET',
success: function(data) {
const payload = {
url: data[1] // 目前硬编码,后续会根据某些数据分配
}
$.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);
}
})
}
})
这段代码运行完美,成功将头像设置为传入的图片(目前硬编码为 data[1])。这里的 data 是一个图片数组,已在 Discourse 设置中配置为“可选头像”。
问题是,实际的图片 URL 构造方式为 https://example.com/${url},而不是直接使用 url。
我想问题的关键在于:是否可以将头像文件设置为外部图片(来自其他域名),而不是内部图片?或者是否有更好的方法来实现我的目标?
感谢您的时间。