Comment téléverser / changer la photo de profil utilisateur avec l'API en Python

Après avoir vérifié tous les messages, j’ai essayé toutes les solutions, mais aucune n’a fonctionné.
Quelqu’un peut-il m’aider ?

1 « J'aime »

Bienvenue, Muskan !

Essayez-vous d’utiliser l’API Discourse pour changer la photo de profil d’un utilisateur ?

Vous devrez en dire plus sur ce que vous avez essayé de faire, y compris le code qui était censé fonctionner et ce qui s’est passé lorsque vous l’avez exécuté.

Téléverser une image via l’API est un peu délicat, vous voudrez donc vous assurer que vous savez d’abord faire quelque chose de plus facile (comme changer le nom ou l’emplacement de l’utilisateur).

3 « J'aime »

Merci pour votre réponse !

J’ai déjà créé plus de 500 utilisateurs activés avec l’API

Voici le code que j’utilise pour le téléchargement d’images

headers1 = {
    'Api-Key': key,
    'Api-Username': username,
}
headers2 = {
    'Api-Key': key,
    'Api-Username': username,
    'Content-Type': 'application/json;',
}
response1 = requests.post('https://domain.com/uploads.json',
          files = {'files[]': ('image.png', open(f'{file_path}','rb'), 'image/png')},
          data={'type':'avatar','user_id':9 ,'synchronous': 'true'},
          headers=headers1 )
# getting upload_id from response
response2 = requests.post(f'https://domain.com/users/{Api_Username}/preferences/avatar/pick',
            headers=headers2,
          data={'upload_id':3,'type':'uploaded'})
# gives 404

@pfaffman Veuillez vérifier ce code et me guider