Alterar nome de usuário através da API?

Gostaria de alterar automaticamente os nomes de usuários por meio da API para que correspondam ao endereço de e-mail.
Nossa comunidade tem a política de que o nome de usuário deve seguir o formato nome.infixo.sobrenome para um usuário com o endereço de e-mail nome.infixo.sobrenome@empresa.com.
Até agora, eu alterava manualmente os nomes de usuários logo após o registro, caso não correspondessem à regra, por meio da interface de administração, e gostaria de automatizar esse processo usando a API ou algo similar.
Não encontrei a chamada na documentação da API do Discourse — será que está oculta em algum lugar como renomear um usuário?
Existe uma alternativa, ou seja, seria possível impor essa regra já no momento do cadastro?

If everyone works for the company, the usual solution is to use sso. They way they can’t create the wrong username.

4 curtidas

I would like to dig this back up as I have a similar request. I need a newly registered user’s username to be changed to Firstname_Lastname automatically, but I am already using an SSO (Memberful) and they refuse to do this for ‘security concerns’ :roll_eyes: so I have to do it manually each time a person signs up and inevitably the user emails me about it before I have a chance to change it because it is super boring using only the first name. So is there anyway to to add this as a task? It would of course have to check if the name exists and add a numeral behind it if so. Thanks!

de How does one change a username via the API? - #2 by blake :

Tente este endpoint em vez disso:

curl -i -sS -X PUT "http://127.0.0.1:3000/u/blake/preferences/username.json"  \
-H "Content-Type: multipart/form-data;" \
-F "api_key=a66d01fbe98cc51b2747d8bfe99f81d7adca18317fbf3c43aa20f340d8e25bfe"  \
-F "api_username=system" \
-F "new_username=blake2"

E ele produzirá:

{"id":1,"username":"blake2"}