Tenho tentado fazer a engenharia reversa da atualização de um valor de user_field.
Fiz isso seguindo os passos em Reverse engineer the Discourse API, editei um usuário de teste e anotei o que estava ocorrendo na aba de rede do navegador.
Vejo que preciso fazer um PUT para esta URL: https://example.com/u/my-username-here.json
Onde fiquei um pouco confuso foi por não ver uma carga útil JSON, mas em vez disso, é um formdata. A carga útil foi: user_fields%5B1%5D=some+dji%2C+some+Autel%26user_fields%5B5%5D=%40UKDroneClub%26user_fields%5B6%5D=%40iKiteFlyer%26user_fields%5B8%5D=test%26timezone=Europe%2FLondon%26default_calendar=none_selected
Eu só desejo atualizar um valor de user_field,
Está codificado em URL: user_fields%5B8%5D=test
E decodificado, lê-se: user_fields[8]=test
(8 = o id do user_field que quero atualizar)
Como eu converteria esse valor de formdata em uma carga útil JSON para que eu possa então fazer um PUT?
Não tenho certeza do que estou fazendo de errado aqui, mas consigo atualizar a seção “Sobre mim” do perfil de um usuário por meio de uma chamada de API, mas não consigo atualizar nenhum dos user_fields.
Se eu monitorar meu navegador ao editar um usuário, posso ver que ele está fazendo um PUT do seguinte: