Como carregar / alterar a foto do perfil do usuário com API em Python

Depois de verificar todas as postagens, tentei todas as soluções, mas nenhuma delas funcionou.
Alguém pode me ajudar?

1 curtida

Bem-vinda, Muskan!

Você está tentando usar a API do Discourse para alterar a foto de perfil de um usuário?

Você precisará dizer mais sobre o que tentou fazer, incluindo o código que você esperava que funcionasse e o que aconteceu quando você o executou.

Fazer upload de uma imagem via API é um pouco complicado, então você vai querer ter certeza de que sabe como fazer algo mais fácil primeiro (como alterar o nome ou a localização do usuário).

3 curtidas

Obrigado pela resposta!

Já criei mais de 500 usuários ativados com a API.

Aqui está o código que estou usando para o upload de imagens:

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 )
# obtendo upload_id da resposta
response2 = requests.post(f'https://domain.com/users/{Api_Username}/preferences/avatar/pick',
            headers=headers2,
          data={'upload_id':3,'type':'uploaded'})
# retorna 404

@pfaffman Por favor, verifique este código e me oriente